Heim >Web-Frontend >js-Tutorial >Konvertierung zwischen JavaScript-Objekten und Strings

Konvertierung zwischen JavaScript-Objekten und Strings

高洛峰
高洛峰Original
2016-11-28 10:30:591135Durchsuche

JavaScript 对象定义方式

1. var obj = new Object()

[html] 

 

 

 

 

Neues Dokument  

 

<script>  </p> <p>var obj = new Object();  </p> <p>obj.key = "11";  </p> <p>alert(obj.key);  </p> <p></script>  

 

  

 

  

 

 

2.  var obj = {};

[html]  

 

 

 

 

Neues Dokument  

 

<script>  </p> <p>var obj = {};  </p> <p>obj.key = "11";  </p> <p>alert(obj.key);  </p> <p></script>  

 

 

 

 

也可以在定义时初始化值:

var obj = {key:'11'};

 

对象如何转换成string

如果直接使用 :

[javascript] 

obj.toString()  

得到的是 [object,object] 这样的字串.

 

从上面的第二种定义方式 (var obj = {key:'11'};) 的对象对应的字串类是一对大括号里包着一批键值对的方式.

其实就是JSON的数据格式, 不了解的可以学学json 格式.

 

使用以下方式就可以取出obj 的key 和value了。

[html]  

 

 

 

 

Neues Dokument  

 

<script>  </p> <p>var obj = {attr1:'value1',attr2:'value2'};  </p> <p>for(attr in obj)  </p> <p>{  </p> <p>   alert(attr);  </p> <p>   alert(eval("obj."+attr));  </p> <p>}  </p> <p></script>  

 

 

 

 

 

重点说一下为什么取值使用:

[javascript]  

eval("obj."+attr);  

而不是直接使用

[javascript] 

obj.attr  

因为 obj.attr 找到的 obj 中key 值为attr 的value, Ja obj 中并没有attr 的key 值.

这里的attr 是一个变量。 的方式了.

 

 

String 如何转换为对象

从对象的格式可以看出, 如果字串的格式定义成 json 格式的, 就可以直接转换为obj 了.

比较以下以下两种的方式:

[javascript]  

var obj1 = {attr1:'value1',attr2:'value2'};  

  

var obj2 = "{attr1:'value1',attr2:'value2'}";  

 

obj1 直接是一个对象, obj2 只是一个字串

使用eval(obj2) 就可以转换为对象了。

 

为什么会有这种用法: 因为很多时候,我们会从服务端返回这种字串供前端处理.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn