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