您好,登录后才能下订单哦!
本篇内容主要讲解“JavaScript中var的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中var的作用是什么”吧!
var的本质就是来申明变量的
<script> var str = 'China';//申明并进行赋值 </script>
先以一个例子来说明引出问题,在这个例子中,在函数t中没有使用var关键字来申明变量,系统认为只是进行赋值操作而已,而且这个赋值操作会影响到了window对象的str2属性
<script> var str1 = 'China';//申明并赋值str1 var str2 = 'Japan';//申明并赋值str2 console.log(window.str1,window.str2);//输出:China Japan function t(){ var str1 = 'local';//申明并赋值str1 str2 = 'global';//赋值操作,并不是申明变量,污染window对象的属性 } t();//调用t函数 console.log(window.str1,window.str2);//输出:China global </script>
全局作用域:在最外层定义的变量
局部作用域:在函数内部定义的变量
JS作用域的特点:首先在函数内部查找变量,找不到则到外层函数查找,逐步找到最外层,即window对象,并操作window对象的属性。
<script> var str = 'China'; function t1(){ var str = 'Japan'; function t2(){ var str = 'USA'; console.log(str); } t2(); } t1(); </script>
这个例子比较典型,可以来说明JS变量的作用域切换问题,脚本首先在最外层定义了str属性,当调用t1函数时,在t1函数中也定义了str变量和t2方法,当执行t2方法时,此时又定义了str变量,所以此时打印USA。
当屏蔽t2函数中的定义操作,此时在t2函数作用域中没有str变量,则从它的上一级作用域中查找,又因为t1函数中定义了str变量,此时打印Japan。
当屏蔽t1和t2函数中的定义操作,则一层一层地往外找,此时找到最外层,此时打印China。
当最外层也没有定义该变量,在运行该JS过程中就找不到该变量,此时会出错,在浏览器的控制台可以找到错误。
到此,相信大家对“JavaScript中var的作用是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。