2015-04-01 55 views
1

要求: 能够通过给每个变量分配唯一的ID跟踪的JavaScript字符串变量。如何在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对象传播到全部字符串实例。

例子:

a.id = 8783; # setter 
console.log(b.id)# returns 8783 

我的问题:

  1. 它实际上是通过扩展String对象来获得所需的功能?
  2. 有没有其他方法可以做到这一点?
  3. 是否有计划将此功能添加到未来版本的ECMAScript?
+2

字符串是不可变的所以在跟踪它 – 2015-04-01 05:00:38

+0

首先,为什么没有点?其次,这就是原型的全部重点。 – Nit 2015-04-01 05:00:44

+0

为什么你不使用json对象? a = {id:1234,value:val}; – vbranden 2015-04-01 05:17:29

回答

1

也许我不完全理解你想要做什么,但是如果你想给一个变量分配一个id,并且还有一个getter和setter变量的值,那么你可以使用JSON对象

// 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); 
相关问题