如果我想向所有 JavaScript 数组添加一个 isEmpty 方法,我会使用以下代码
Array.prototype.isEmpty = function() {
return this.length == 0;
}
假设这段代码在文件 foo.js 中。如果我希望 isEmpty 在网站的所有页面上都可用,是否需要在所有 HTML 文件中包含 foo.js?换句话说,只要用户导航到不同的页面,原型(prototype)就会“重置”吗?
谢谢, 唐
最佳答案
是的,您需要在每次页面加载时包含您的代码。
将每个页面加载视为一个编译/链接周期。页面上所有不同的 Javascript 位都链接在一起1,然后作为一个巨大的程序执行。下次加载页面时,默认的 Javascript 对象会以全新状态启动。
1.以一种脑死亡的“每段代码共享相同的全局 namespace ”方式链接在一起
关于JavaScript 增强原型(prototype)生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617422/