setInterval()由於作用域問題找不到呼叫函式報錯
在使用setInterval()函式的時候,可能會出現找不到呼叫函式的情況,這種情況多數存在於setInterval()函式第一個引數帶有引號的情況下,如下格式:
[JavaScript] 純文字檢視 複製程式碼setInterval("func()",1000);
下面介紹一下導致此錯誤出現的最可能的原因,先看一段程式碼:
[JavaScript] 純文字檢視 複製程式碼function func(){ function done(){ console.log("螞蟻部落"); } setInterval("done()",1000); } func();
上面的程式碼會報函式done沒有定義的錯誤,出現這種狀況的原因是setInterval()函式帶引號的時候,總會在全域性作用域查詢,所以上面的程式碼會出現找不到函式done的情況,這種情況對於setTimeout()函式也是適用的。
相關文章
- setInterval()呼叫其他函式時候報錯函式
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- 由兩道題擴充套件的對作用域,作用域鏈,閉包,立即執行函式,匿名函式的認識總結套件函式
- 函式(三)作用域之變數作用域、函式巢狀中區域性函式作用域、預設值引數作用域函式變數巢狀
- 函式與作用域函式
- 函式呼叫棧的問題函式
- RedisTemplate呼叫increment報錯問題RedisREM
- 神奇的函式作用域函式
- javascript變數物件函式呼叫棧作用域閉包等細解!JavaScript變數物件函式
- 第 8 節:函式-函式型別與作用域函式型別
- python函式作用域簡介Python函式
- JavaScript塊級作用域宣告函式JavaScript函式
- 作用域安全的建構函式函式
- 關於使用toFixed()函式時報錯”toFixed() is not a function”的問題函式Function
- javascript基礎(函式與方法的區別,變數作用域,變數和函式的宣告提前,函式作用域)(十五)JavaScript函式變數
- [JavaScript基礎] 函式,初識作用域JavaScript函式
- JS 總結之函式、作用域鏈JS函式
- JS內建物件,函式與作用域JS物件函式
- Python 函式和變數作用域Python函式變數
- Python中以函式為作用域Python函式
- 關於scanf函式的問題函式
- 關於函式索引的問題?函式索引
- Lua封裝函式模組並由其他模組呼叫封裝函式
- setInterval 回撥函式傳引數函式
- 1.5.2 Python函式巢狀及作用域Python函式巢狀
- 暫時性死區以及函式作用域函式
- js 函式作用域鏈簡單介紹JS函式
- 關於EL在JSP內呼叫RequestScope內建物件報錯的問題JS物件
- Shell變數的作用域問題變數
- js中變數作用域問題JS變數
- 函式呼叫引數變數傳值的問題函式變數
- 關於cuda中的函式問題函式
- java由於越界導致的報錯Java
- 關於@override報錯的問題IDE
- OPENSSL問題,使用fsockopen()函式提示錯誤函式
- ES6箭頭函式和它的作用域函式
- 關於redis配置找不到問題Redis
- 一個Js方法作用域的問題JS