ウィンドウオブジェクトにテスト関数宣言が見つからないのはなぜですか? ありがとう
!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)
}()
変数としてローカル スコープにアクセスすることはできません。詳細については、この質問を参照してください。