在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  HTML/ JS中直接var一個(gè)變量和不var,直接賦值,有什么區(qū)別?

JS中直接var一個(gè)變量和不var,直接賦值,有什么區(qū)別?

今天面試遇到的一個(gè)問(wèn)題?先問(wèn)的是不var,直接賦值,這個(gè)變量是全局變量。
然后問(wèn)這兩種在瀏覽器下有什么區(qū)別?(我回答了是不是變量和函數(shù)聲明提升?,面試官說(shuō)不是)

回答
編輯回答
伴謊

如果之前未定義過(guò),直接使用和var定義,基本上沒(méi)有區(qū)別。
如果之前定義過(guò),原內(nèi)存釋放與新內(nèi)存開(kāi)辟,指針指向新開(kāi)辟的內(nèi)存

2018年7月16日 04:00
編輯回答
眼雜

總結(jié)一點(diǎn)就是 沒(méi)有var的總是全局變量 有var的就是當(dāng)前作用域的變量

2017年2月8日 10:41
編輯回答
命多硬

給個(gè)鏈接 http://www.jb51.net/article/7...

這個(gè)問(wèn)題實(shí)屬坑爹,為題而有的問(wèn)題?,F(xiàn)在都用"use strict"模式 不寫(xiě)var會(huì)報(bào)錯(cuò)

2017年5月21日 05:10
編輯回答
老梗

這種問(wèn)題一句話(huà)兩句話(huà)說(shuō)不清的,這里var與不var只是JS的執(zhí)行原理(執(zhí)行上下文)一部分內(nèi)容,但是很重要,有很多所謂的面試官自己對(duì)JS底層的執(zhí)行原理都搞不清楚。你把執(zhí)行原理搞清楚了,什么作用域、作用域鏈、this、閉包都迎刃而解啦。

2017年6月14日 20:08
編輯回答
汐顏

這種問(wèn)題早就過(guò)時(shí)了,沒(méi)想到現(xiàn)在還有問(wèn)的。簡(jiǎn)單來(lái)說(shuō),跟作用域范圍有關(guān):

  1. 如果 var 和 no var 創(chuàng)建的變量都在全局作用域頂層(瀏覽器中是 window,Nodo.js 是 global),那么它們就沒(méi)啥區(qū)別。
  2. 如果出現(xiàn)在函數(shù)內(nèi)部(或者有子作用域的代碼塊中),那么 var 創(chuàng)建的變量就是局部變量,而 no var 創(chuàng)建的變量實(shí)際上是一個(gè)直接賦值操作,按流程來(lái)講會(huì)先找到變量然后再賦值。因?yàn)樽幼饔糜蛑姓也坏皆撟兞?,就?huì)繼續(xù)向上找,直到全局作用域,如果仍然不存在就會(huì)直接創(chuàng)建在全局作用域中。
2017年4月5日 07:23