认清js中var a=b=1和var a=1,b=1的区别
生活随笔
收集整理的這篇文章主要介紹了
认清js中var a=b=1和var a=1,b=1的区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
js中一次性定義多個(gè)變量的時(shí)候,可以用:var a=1,b=1這種中間用逗號(hào)隔開(kāi)的方式,但有些時(shí)候?yàn)榱耸∈?#xff0c;直接定義var a=b=1。那這兩種寫(xiě)法方式最后效果是一樣的嗎?有沒(méi)有什么區(qū)別呢?請(qǐng)大家看下面的范例:
1、用var a=b=1的方式
可以看出:變量b的作用域是全局的,變量a是局部的
2、用var a=1,b=1的方式
可以看出:變量a和變量b的作用域都是局部
結(jié)論:var a=b=1中的變量b會(huì)成為全局變量,而var a=1,b=1中的a、b變量都為局部變量。
在嚴(yán)格模式下, 變量必須先聲明,直接給變量賦值,不會(huì)隱式創(chuàng)建全局變量比如webpack打包js后會(huì)在嚴(yán)格模式下
<script>"use strict";var a=b=1;console.log(a,b) </script>報(bào)錯(cuò):Uncaught ReferenceError: b is not defined
因此以后寫(xiě)代碼定義變量的時(shí)候,要嚴(yán)格按照語(yǔ)法規(guī)范,不能用偷懶的寫(xiě)法哦。否則可能出現(xiàn)意想不到的情況,造成難以排查的程序bug。
總結(jié)
以上是生活随笔為你收集整理的认清js中var a=b=1和var a=1,b=1的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: webpack4--提取css到单独文件
- 下一篇: JavaScript严格模式 use s