Home >Web Front-end >JS Tutorial >Conversion between JavaScript objects and strings

Conversion between JavaScript objects and strings

高洛峰
高洛峰Original
2016-11-28 10:30:591133browse

JavaScript 对象定义方式

1. var obj = new Object()

[html] 

 

 

 

 

New Document  

 

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

 

  

 

  

 

 

2.  var obj = {};

[html]  

 

 

 

 

New Document  

 

<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'};) 可以看出, js 的对象对应的字串类是一对大括号里包着一批键值对的方式。

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

 

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

[html]  

 

 

 

 

New Document  

 

<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 , 但是obj 中并没有attr 的key 值。

这里的attr 是一个变量。 所以 就要借助于eval 的方式了。

 

 

String 如何转换为对象

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

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

[javascript]  

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

  

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

 

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

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

 

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


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn