js 作用域 :

1、js 没有块作用域 :

for (var i = 0;i < 4; i++){

}

alert(i)  // i = 3

2、js 没有动态作用域:

function f1(){
var x = 10;
f();
}
function f(){
alert(x)
} f1(); // x is not defined

3、词法作用域(静态作用域  或者 叫 闭包)作用域链

function main(){
function sub1(){
function sub2(){
}
}
} // sub2.Lexcal -> sub2.{[Scope] = sub1} -> sub1.Lexcal -> sub1{[scope]} -> main.Lexcal ->window === main{[scope]}

补充: 词法创建函数的四种方法:

//---- 01: ----
function f(){} //---- 02: ---- var f = function() {} //---- 03: ---- var f = function x() {}
//---- 04: ---- var f = new Function("","alert("is function")"); // 这样的词法创建的function,不能访问到外部的 lexical 而是直接访问window

08.01 签到! js 作用域的更多相关文章

  1. JS作用域面试题总结

    关于JS作用域问题,是面试的时候面试官乐此不疲的面试题,有时候确实是令人抓狂,今天看到一个讲解这个问题的视频,明白了那些所谓的“原理”顿时有种豁然开朗的感觉~~~ 1.js作用域(全局变量,局部变量) ...

  2. js作用域问题

    <script type="text/javascript"> alert(i);//Uncaught ReferenceError: i is not defined ...

  3. js 作用域

    js 作用域 js作用域链查找,子函数能取到父函数中定义的变量. 前段时间误写成如下形式: 这只是普通的函数调用,没有父子的关系,child()函数会在全局查找pi变量,没找到所以报错. 最近发现原来 ...

  4. js作用域链

    js作用域链 <script> var up = 555; function display(){ var innerVar = 2; function inner(){ var inne ...

  5. http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html

    http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html

  6. easyui datagrid load 封装 参数问题 js 作用域

    var temp = { LoginAccount: $('#LoginAccount').val(), ShopName: $('#ShopName').val() }; function doSe ...

  7. js作用域零碎的知识点,不同的script块,虽然同是全局变量

    如下代码,第一次弹出a,因为解析器里找到var a,赋予a变量undefined,弹出undefined <!DOCTYPE html> <html> <head> ...

  8. JS作用域,作用域,作用链详解

    前言   通过本文,你大概明白作用域,作用域链是什么,毕竟这也算JS中的基本概念. 一.作用域(scope) 什么是作用域,你可以理解为你所声明变量的可用范围,我在某个范围内申明了一个变量,且这个变量 ...

  9. JS作用域和ASP(vbs)作用域比较

    一.js作用域,先上图: 以上代码执行的效果是,依次弹出 undefined, undefined, a, a,为什么是这样的结果啦?因为JS的作用域为链式作用域. 作用域链: 用VAR声明一个变量时 ...

随机推荐

  1. CallerInformation

    http://www.cnblogs.com/henryzhu/archive/2013/01/27/csharp-5-new-callerinformation.html 去年8月,Visual S ...

  2. VS2015 推荐插件

    VS2015 推荐插件 //////////////////////////////////////////////////////////////////////////////////////// ...

  3. [Angularjs]表单验证

    写在前面 在开发中提交表单,并对表单的值进行验证是非常常见的操作,angularjs对表单验证提供了非常好的支持. demo 表单 <form name="myform" n ...

  4. django学习<一>:安装

    这两天打算摸索下和python相关的东西,然后正好小伙伴有个关于网站的任务,就怀着好奇的心态了解了下,然后就很自然地开始涉及django的问题. 首先就是django安装的问题,想不到第一步就出问题了 ...

  5. PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系

    看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉.下面我来还原我 ...

  6. spring 缓存(spring自带Cache)(入门)源码解读

    spring自带的缓存类有两个基础类:Cache(org.springframework.cache.Cache)类,CacheManager(org.springframework.cache.Ca ...

  7. POJ 1845 Sumdiv

    快速幂+等比数列求和.... Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12599 Accepted: 305 ...

  8. vs 工程连接错误

    现象: estMemPool.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: _ ...

  9. Tomcat 服务器性能优化

    简介 考虑一下这种场景,你开发了一个应用,它有十分优秀的布局设计,最新的特性以及其它的优秀特点.但是在性能这方面欠缺,不管这个应用如何都会遭到客户拒绝.客户总是期望它们的应用应该有更好的性能.如果你在 ...

  10. laravel中间件-----------middleware

    middleware中间件 是访问到达服务器后在被对应的路由处理之前所经过的一层过滤层,故称中间件. 中间件是存放在app\http\middleware中,需要定一个 handle 处理方法,在ha ...