-1
爲什麼在窗口對象中找不到測試功能聲明?由於從Window對象的字符串名稱調用函數
!function(){
function test(){
console.log("testing");
}
var check = window["test"]
console.log(check); //undefined
}();
爲什麼在窗口對象中找不到測試功能聲明?由於從Window對象的字符串名稱調用函數
!function(){
function test(){
console.log("testing");
}
var check = window["test"]
console.log(check); //undefined
}();
由於function test()
是當地的頂級函數表達式的範圍,這不是必然window
,全球範圍內。你可以稱其爲一個局部變量:
!function() {
function test() {
console.log('testing')
}
console.log(test)
}()
或者直接將其綁定到window
爲一個全局變量:
!function() {
window.test = function test() {
console.log('testing')
}
var check = window['test']
console.log(check)
}()
您不能訪問本地範圍內作爲一個變量 - 見this question瞭解更多詳情。
因爲'test'不在窗口對象中?你已經創建了一個閉包,這有點... –