-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'不在窗口对象中?你已经创建了一个闭包,这有点... –