
正文
js局部变量改变不了全局变量,js 全局变量在function中不能用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于js的一个问题,局部变量赋值为什么会影响全局变量?
1、就相当于一个箱子,里面放了_arar[i]的值,然后你把这个值赋值给Area.select.city ,其实不是把箱子直接给它了,而是给的一把钥匙,让它也可以用里面的东西。
2、Javascript的变量的scope是根据方法块来划分的(也就是说以function的一对大括号{ }来划分)。切记,是function块,而for、while、if块并不是作用域的划分标准。
3、js是这样的,无论你在js那里定义变量,它在执行的时候都会变成在开头(函数的开始)就定义所有的变量,但是不赋初始值,所有第二个会alert出 undefined。也是说第二个scope其实是局部变量,但没有初始值。就这样。
4、正是因为是全局变量,它才会被+1啊(在其他函数过程内部也可以改变它的值)。
相关问答
Q1: JavaScript函数内部修改全局变量的问题
1、全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。一个局部变量在被其它对象引用时,会是一个空值。但全局变量却不会出现这种情况。
2、变量作用域问题:变量的作用域会影响变量的访问。如果变量被定义在函数内部,那么在函数外部就无法访问该变量,也就无法拿到该变量的值。此时,可以将变量定义在全局作用域中,从而保证变量的可访问性。
3、dc(); //4 ,因为uc没有通过参数修改dc内部的变量a,故内部a仍然=1。补充: 谢谢指出错误。 那里确实不是传递参数的问题。
4、在js中定义成全局变量的方式有以下几种:第一种,不对该变量进行var声明,则默认是全局变量,不过不推荐,容易出错。第二种,通过window.变量名方式进行申明,这种方式没有位置限制。
Q2: js局部变量从全局变量中取值,如何才能操作局部变量而不影响到全局变量...
1、Javascript的变量的scope是根据方法块来划分的(也就是说以function的一对大括号{ }来划分)。切记,是function块,而for、while、if块并不是作用域的划分标准。
2、变量名相同时,方法中的局部变量会覆盖全局变量,输出为局部变量的值。当离开此方法时,输出为全局变量的值。
3、就相当于一个箱子,里面放了_arar[i]的值,然后你把这个值赋值给Area.select.city ,其实不是把箱子直接给它了,而是给的一把钥匙,让它也可以用里面的东西。
4、看看不同情况输出的num值。其实就是你把num变量放在函数中,是局部变量,每次单击的时候,都会重新赋值0再开始运行下面的代码,所以是可以重复点击。
关于js局部变量改变不了全局变量和js 全局变量在function中不能用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







