为什么在窗口对象中找不到测试功能声明?感谢
!function(){
function test(){
console.log("testing");
}
var check = window["test"]
console.log(check); //undefined
}();
答案 0 :(得分:0)
由于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。