JavaScript 增强原型(prototype)生命周期

标签 javascript prototype

如果我想向所有 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/

相关文章:

javascript - 当我们有闭包时,JavaScript 中是否需要原型(prototype)?

javascript - 将方法添加到数组原型(prototype),以便我可以将其应用于数组对象。但它给出错误 TypeError : Array. method is not a function

php - 在 Javascript 中本地使用正确的服务器 (Codeigniter) URLS

javascript - 使用 angularjs 让 cookie 永不过期

javascript - JavaScript 中的方法重载

javascript - 来自面向对象 javascript 的 stoyanov javascript 原型(prototype)练习

javascript - Vue未加载数据

IE 中的 JavaScript keydown 错误

php - 如何在不刷新的情况下将数据插入字段?

javascript - 如何将原型(prototype)函数传递给我的对象而不需要调用它?