为什么在窗口对象中找不到测试函数声明?谢谢
!function(){
function test(){
console.log("testing");
}
var check = window["test"]
console.log(check); //undefined
}();
为什么在窗口对象中找不到测试函数声明?谢谢
!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)
}()
您不能将本地范围作为变量访问 - 有关更多详细信息,请参阅此问题。