要求: 通过为每个变量分配唯一ID ,能够跟踪 javascript 中的字符串变量。
示例:
var a = 'alkd';
var b = 'iquwq';
console.log(a.id); # 1234
console.log(b.id); # 5678
我尝试了什么:我尝试通过向'String.prototype添加新的方法或属性来扩展字符串对象“
输出:
console.log(a.id); #1234
console.log(b.id); #1234 (returning same id as above)
我观察到的内容: String.prototype 继承了继承的字符串实例。对 String.Prototype 对象的更改将传播到所有 String 实例。
示例:
a.id = 8783; # setter
console.log(b.id)# returns 8783
我的问题:
答案 0 :(得分:1)
也许我完全不明白你要做什么,但如果你想为变量分配一个id,并且还有一个getc和setter的变量值,你可以只使用一个json对象< / p>
// initialize
var a = {id: 0, value: "zero"};
// get
console.log(a.id);
console.log(a.value);
// set
a.id = 1;
a.value = "one";
// get
console.log(a.id);
console.log(a.value);
答案 1 :(得分:0)
回答你的问题:
1)不。你观察到的是正确的。修改原型会影响使用该原型的所有对象。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
2)是的。您可以使用如下的简单对象,而不是使用基元:
var a = {
id: 1234,
value: "abc"
};
var b = {
id: 5678,
value: "def"
};
3)可能不是......见1:)