js修改另一个js文件中的值
我有三个js文件,a.jsb.jsc.js其中a.js里面有varabc="";b.js里面有方法function1(){abc="abc";location.href=...
我有三个js文件,a.js b.js c.js 其中a.js里面有var abc=""; b.js里面有方法function1(){ abc="abc"; location.href="1.html"; } 然后1.html的onload()方法调用c.js中的方法function2(){alert(abc);}但是值没有被改变, 还是默认值“”, 请问为什么?
展开
1个回答
展开全部
abc是全局变量,其等效于在window下有abc这样的一个值;
你的function1进行了跳转操作,那么假设是在2.html里执行的function1,根据引入a.js的页面的不同,会有一下几种情况:
1、2.html里引入a.js文件
变量abc被赋值为"abc"
页面跳转到1.html
1.html页面下的window下没有abc属性,alert(abc)报错
2、1.html里引入a.js文件
2.html的window下没有abc属性,abc="abc"这样的操作等效于 定义的一个新的全局变量abc,并赋值为"abc"
页面跳转到1.html,刚才的操作并不影响1.html的window的abc属性,abc的值仍然为“”
你的function1进行了跳转操作,那么假设是在2.html里执行的function1,根据引入a.js的页面的不同,会有一下几种情况:
1、2.html里引入a.js文件
变量abc被赋值为"abc"
页面跳转到1.html
1.html页面下的window下没有abc属性,alert(abc)报错
2、1.html里引入a.js文件
2.html的window下没有abc属性,abc="abc"这样的操作等效于 定义的一个新的全局变量abc,并赋值为"abc"
页面跳转到1.html,刚才的操作并不影响1.html的window的abc属性,abc的值仍然为“”
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询