作用域: javascript的作用域称为静态作用域,在定义语法上就能确认了,而不是运行时。 if (true) { var i = moersing } console.log(i); //可以访问。与C#,vb,java等语言不同,javascript没有所谓块级作用域概 ...
作用域: javascript的作用域称为静态作用域,在定义语法上就能确认了,而不是运行时。与C#,vb,java等语言不同,javascript没有所谓块级作用域概念,准确的说,就花括号之内定义的变量可以被外面访问到,但是,
函数除外,因为函数本身是一个作用域。解释下为什么会这样,原因是javascript作用域搜索的问题,在调用函数f的时候,f作用域(函数都有一个局部作用域),会初始化所有局部变量(只是初始化),于是,console.log()函数访问s的时候,s并没有被赋值,也就相当于 var s而已,所以输出undefind。对于闭包特性,通俗来讲,就是嵌套的函数包含了父函数的作用域和本身的作用,这个新的作用域称为闭包特性,但是要记住,当父函数返回之后,作用域就被销毁,但是其活动对象还是会保留在嵌套的函数之中。从上面可以看出,对象实例的__proto__都指向了构造该对象的原型对象。
原标题:javascript 特性
关键词:JavaScript
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。