<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>全局变量的用法</title> <script type="text/javaScript"> window.onload = function(){ function fn1(){ var a = b = 2; console.log(a); console.log(b); } fn1(); console.log(b); function fn2(n){ a = n; console.log(a); } fn2(4); console.log(a); } </script> </head> <body> </body></html>
1 回答
pardon110
TA贡献1038条经验 获得超227个赞
在js中通常没有声明的变量,js解释器自动默认是全局变量。你fn2函数中临时变量a在函数作用域内没有声明,一旦该函数被调用,相当于声明了一个全局变量a,该变量会直到脚本页面执行完毕才释放。而fn1函数内声明变量var a 是一个局部变量,临时的,它的存活期,在fn1调用完毕就结束了。所以后面两个都是4.
添加回答
举报
0/150
提交
取消