JavaScript对象和字串之间的转换实例探讨


Posted in Javascript onApril 21, 2013

JavaScript 对象定义方式
1. var obj = new Object()

<!--Add by oscar999--> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<META NAME="Author" CONTENT="oscar999"> 
<script> 
var obj = new Object(); 
obj.key = "11"; 
alert(obj.key); 
</script> 
</HEAD> 
<BODY> 
</BODY> 
</HTML>

2. var obj = {};
<!--Add by oscar999--> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<META NAME="Author" CONTENT="oscar999"> 
<script> 
var obj = {}; 
obj.key = "11"; 
alert(obj.key); 
</script> 
</HEAD> 
<BODY> 
</BODY> 
</HTML>

也可以在定义时初始化值:
var obj = {key:'11'};
对象如何转换成string
如果直接使用 :
obj.toString()

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

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

<!--Add by oscar999--> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<META NAME="Author" CONTENT="oscar999"> 
<script> 
var obj = {attr1:'value1',attr2:'value2'}; 
for(attr in obj) 
{ 
alert(attr); 
alert(eval("obj."+attr)); 
} 
</script> 
</HEAD> 
<BODY> 
</BODY> 
</HTML>

重点说一下为什么取值使用:
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) 就可以转换为对象了。

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

Javascript 相关文章推荐
学习YUI.Ext第五日--做拖放Darg&amp;Drop
Mar 10 Javascript
JavaScript学习点滴 call、apply的区别
Oct 22 Javascript
深入解析JavaScript中的变量作用域
Dec 06 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
基于JavaScript代码实现微信扫一扫下载APP
Dec 30 Javascript
Jquery为DIV添加click事件的简单实例
Jun 02 Javascript
浅谈Angular的$q, defer, promise
Dec 20 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
Oct 25 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
Sep 29 Javascript
Node.js 深度调试方法解析
Jul 28 Javascript
js仿京东放大镜效果
Aug 09 Javascript
使用javascript解析二维码的三种方式
Nov 11 Javascript
jquery获取自定义属性(attr和prop)实例介绍
Apr 21 #Javascript
js和jquery对dom节点的操作(创建/追加)
Apr 21 #Javascript
jquery获取焦点和失去焦点事件代码
Apr 21 #Javascript
jQuery获取注册信息并提示实现代码
Apr 21 #Javascript
jQuery隔行变色与普通JS写法的对比
Apr 21 #Javascript
jQuery模拟超链接点击效果代码
Apr 21 #Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 #Javascript
You might like
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
详解:――如何将图片储存在数据库里
2006/12/05 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
php连接mysql数据库
2017/03/21 PHP
php微信开发之图片回复功能
2018/06/14 PHP
nginx 设置多个站跨域
2021/03/09 Servers
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
代码详解JS操作剪贴板
2018/02/11 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
python使用cookie库操保存cookie详解
2014/03/03 Python
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
python中必要的名词解释
2019/11/20 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
医学生个人求职信范文
2014/02/07 职场文书
数学教学随笔感言
2014/02/17 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
淘宝客服工作职责
2014/07/11 职场文书
茶花女读书笔记
2015/06/29 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏
python小型的音频操作库mp3Play
2022/04/24 Python