700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JavaScript的全局变量y局部变量的理解

JavaScript的全局变量y局部变量的理解

时间:2022-06-26 23:26:10

相关推荐

JavaScript的全局变量y局部变量的理解

概念上说,全局变量就是函数外部定义的变量;局部变量是函数内部定义(var)的变量,外部无法访问。

exp1:

var setPerson=function(person){ person.name="kevin"; person={name:"nick"};}; var person={name:"alan"}; setPerson(person); alert(person.name);

最后输出的是’kevin’.

理解:

在serperson中最后增加alert(person.name)可以观察到,输出为‘nick’。

person={name:"nick"};相当于是定义了一个局部变量person,跟最后输出没有关系。而person.name="kevin";则是修改了全局变量person的键‘name’的值,所以最后输出会变为‘kevin’。

exp2:

var a = 1; function toTry() { window.alert(a); //undefinedvar a = 2; window.alert(a); //2} toTry();

理解:

按照javascript作用域链的原理,当一个变量在当前作用域下找不到该变量的定义,那么javascript引擎就会沿着作用域链往上找直到在全局作用域里查找。

首先这段程序涉及到了以下三个概念:执行环境、变量对象、作用域链 。

js的执行环境分为:全局的(浏览器的话就是window执行环境)

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