如何在 Javascript 中创建静态字段 [重复]

Posted

技术标签:

【中文标题】如何在 Javascript 中创建静态字段 [重复]【英文标题】:How can I make a static field in Javascript [duplicate] 【发布时间】:2014-03-19 12:23:03 【问题描述】:

我在 javascript 中有一个像这样的对象:

var Person = name: "John", age:37

我希望每次创建类的新实例时都可以静态访问该名称,而年龄将始终是新的。

例如:

var per1 = new Person();

Person.name = "Anton";
Person.age = 11;

per1.Name //Anton
per2.Name //11

var per2 = new Person();

per1.age //Anton
per2.age //37 ????

有没有办法让它以这种方式工作?

【问题讨论】:

查看***.com/questions/1535631/… 你也可以查看***.com/questions/7307243/… 谢谢大家,我自己找不到,可能是我使用了错误的搜索条件。 :P ***.com/a/16063711/1641941 new Person 仅在 Person 是函数而不是对象文字时才有效 【参考方案1】:

为了在 javascript 中使属性成为静态,您可以使用原型:

Person.prototype.name = "Anton"

更新:

你可能想这样使用它:

var Person = function(age)
 this.age=age;   

Person.prototype.name = "Anton"
var per1 = new Person(12);
console.log(per1);

【讨论】:

所以我要以正确的方式使用它。该字段没有“锁定”为静态,因为如果在代码中的某个地方我犯了写 Person.name = "Anton"; 的错误那么该领域将不再是静态的?我说得通吗? @JohnDoe 检查此示例:jsfiddle.net/uc97b 编写 Person.name = "Anton" 不会以任何方式影响该字段。 哦谢谢我现在明白了

以上是关于如何在 Javascript 中创建静态字段 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ES6 类中创建“公共静态字段”?

在javascript对象中创建“静态”成员[重复]

如何在 HTML/Javascript 中创建可编辑的组合框?

在 JavaScript 中创建大型静态 DOM 元素的最佳方法?

如何在HTML / Javascript中创建可编辑的组合框?

javascript中创建日期对象