Home > Web Front-end > JS Tutorial > Discussion on conversion examples between JavaScript objects and strings_javascript skills

Discussion on conversion examples between JavaScript objects and strings_javascript skills

WBOY
Release: 2016-05-16 17:36:01
Original
1091 people have browsed it
JavaScript 对象定义方式
1. var obj = new Object()
复制代码 代码如下:





New Document

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





2. var obj = {};
复制代码 代码如下:





New Document

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





也可以在定义时初始化值:
var obj = {key:'11'};
对象如何转换成string
如果直接使用 :
复制代码 代码如下:

obj.toString()

得到的是 [object,object] 这样的字串。
从上面的第二种定义方式 (var obj = {key:'11'};) 可以看出, js 的对象对应的字串类是一对大括号里包着一批键值对的方式。

其实就是JSON的数据格式, 不了解的可以学学json 格式。
使用以下方式就可以取出obj 的key 和value了。
复制代码 代码如下:





New Document

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





重点说一下为什么取值使用:
复制代码 代码如下:

eval("obj." attr);

而不是直接使用
复制代码 代码如下:

obj.attr

因为 obj.attr 找到的 obj 中key 值为attr 的value , 但是obj 中并没有attr 的key 值。
这里的attr 是一个变量。 所以 就要借助于eval 的方式了。

String 如何转换为对象
从对象的格式可以看出,如果字串的格式定义成 json 格式的, 就可以直接转换为obj了。
比较以下以下两种的方式:
复制代码 代码如下:

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

obj1 直接是一个对象, obj2 只是一个字串。
使用eval(obj2) 就可以转换为对象了。

为什么会有这种用法: 因为很多时候,我们会从服务端返回这种字串供前端处理。
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template