- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑这段 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');
})();
jsFiddle .
我使用上面的 jQuery 库的事实应该与问题无关。
delete
行之后,全局不存在。我这样做是为了让这个全局只在需要的时候保持活力。
但是,从全局对象中删除恰好是当前正在运行的函数的属性是不好的做法吗?
最佳答案
这样做没有错。
delete
关键字删除引用,而不是实际函数本身。您不能完全销毁 Javascript 中的对象;您只能删除对它的所有引用。 Garbage collection做剩下的。
因此,在对其所在函数的引用上调用 delete
并不重要,因为您只是从窗口命名空间中删除对它的引用。只要您仍然引用它,该函数就会一直存在。
window.myNameSpace_callback = function() {
delete window.myNameSpace_callback;
// We deleted the reference to the function off the window namespace,
// but we can still access it using arguments.callee
window.myNameSpace_callback_two = arguments.callee;
};
myNameSpace_callback();
myNameSpace_callback(); // Error, but what about...
myNameSpace_callback_two();
关于javascript - `delete` 引用全局函数本身是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313942/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!