當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS对象变量、闭包的一些问题
生活随笔
收集整理的這篇文章主要介紹了
JS对象变量、闭包的一些问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://www.cnblogs.com/ivehd/p/vo_ao.html
為什么會有預解析,
其實是因為函數在被調用的時候,還沒有被執行,會先創建對象變量
?
對象變量里面存了什么呢?
?
然后對象變量又會放到作用域鏈上,所以,函數開始執行的時候,會去作用域上找,最先找的就是自己的對象變量。
所以如果內部用同名的變量,那么肯定是獲取到undefined的那個值了。
?
至于之前的那個代碼
for(var i=0;i<4;i++){setTimeout(function(i) {console.log(i);}(i),1000); }setTimeout要傳的是一個函數,
這里
function(i) {console.log(i);}(i)已經是函數的執行了,所以在傳入setTimeout的時候,該函數已經執行了,所以當然是0 1 2 3啦!
根本都沒有延遲!
?
所以這和閉包沒有關系。
?
轉載于:https://www.cnblogs.com/weizhibin1996/p/9702671.html
總結
以上是生活随笔為你收集整理的JS对象变量、闭包的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mkfs命令
- 下一篇: SpringMVC-web.xml头代码