考虑一下这段 JavaScript 代码...
(function() {
window.myNameSpace_callback = function() {
// Do whatever.
delete window.myNameSpace_callback;
};
// Assume this does not return JSON, but has JavaScript code to be executed
// and also calls a user defined callback.
$.getScript('http://someapi.com/?callback=myNameSpace_callback');
})();
上面我使用的jQuery库与问题无关。
在delete
行之后,全局变量就不存在了。我这样做是为了让这个全局变量只在必要时存在。
然而,从全局对象中删除一个属性,而该属性恰好是当前正在运行的函数,这种做法是否不好?