100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 实例浅析javascript变量作用域

实例浅析javascript变量作用域

时间:2023-04-05 06:12:40

相关推荐

实例浅析javascript变量作用域

全局域变量在局部可见,局部变量在全局不可见

varglobal_value = 'global value';

func();

console.log(local_value);

functionfunc(){

varlocal_value = 'local_value';

console.log(global_value);

} 输出: 1.global value 2.Uncaught ReferenceError: local_value is not defined anonymous function 所以,局部域可以修改全局域变量的值varglobal_value = 'global value';

func();

console.log(global_value);

functionfunc(){

global_value = 'local_value';

console.log(global_value);

} 输出: 1.local_value 2.local_value 上面的例子可作为javascript作用域链scope chain的例证 更多scope chain的内容可参考javascript:the definitive guide 深入理解变量作用域一节

局部域重复声明覆盖全局域

varglobal_value = 'global value';

func();

console.log(global_value);

functionfunc(){

varglobal_value = 'local_value';

console.log(global_value);

} 输出: 1.local_value 2.global_value 此例可作为javascript作用域链scope chain的例证

块级作用域无效 即如if语句中声明的变量在if语句外可见 func();

functionfunc(){

console.log(inner_value);

if(true){

varinner_value = 'inner_value';

}

console.log(inner_value);

}

输出: 1.undefined 2.inner_value undefined指声明了但未定义,可能是定义的相关语句在后面的缘故

隐式声明默认实现为全局变量,拥有全局作用域 即使在局部域中声明也是实现为全局域变量 func();

console.log(inner_value);

functionfunc(){

inner_value = 'inner_value';

console.log(inner_value);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。