JS - 将传递的函数分配给全局对象

时间:2017-03-21 18:09:52

标签: javascript function

我需要将传递的函数分配给全局对象。

var globalObj = {};

function assignFunc(pFunc){
    globalObj.func = pFunc;
}

assignFunc(function(){});
globalObj; // globalObj == {}

即使它不是匿名函数,

function sampleFunc(){};
assignFunc(sampleFunc);
globalObj; // globalObj == {}

如果我尝试将匿名传递函数分配给窗口对象,

function assignFunc_2(pFunc){
    window.someFuncName = pFunc;
    globalObj.func = window.someFuncName;
}

assignFunc_2(function(){});

window.someFuncName; // function
globalObj; // globalObj == {}

https://jsfiddle.net/banL9fxp/

1 个答案:

答案 0 :(得分:0)

您的代码运行正常。我假设这只是你的浏览器控制台隐藏你的财产。

var globalObj = {};

function assignFunc(pFunc) {
  globalObj.func = pFunc;
}

assignFunc(function() {});
console.log(typeof globalObj.func); // "function"