javascript - 关于获取JSON里面数据的俩种方法有何不同?
高洛峰
高洛峰 2017-04-11 09:04:36
[JavaScript讨论组]

1.比如

var Json={'name':'xiaoming',
           'age:80,
           
}

第一种是Json.name
第二种是Json['name']
有啥不同?

2.还有一个问题。比如

var a='<p>121313</p>'

和这个

var a=document.createElement('p')
body.appendChild(a)
 var a='<p></p>';

这俩有啥区别

3.怎么做一个评论功能。ajax是怎么写的。比如点击发表,内容出现一条信息,JS怎么写。ajax怎么写

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(6)
伊谢尔伦
  1. 没啥不同吧,都能访问到,不过一般建议用后者,好吧,属性不存在也不会报错,记错了,不过后者用起来比较灵活些,出错率没那么高

  2. 前者仅仅只是一个字符串,后者是创建一个dom节点~ 当然你可以用document.body.innerHTML = a利用前者的字符串生成一个节点到页面

  3. ajax应该怎么写,这个应该确定下什么是ajax https://developer.mozilla.org...

怪我咯
var Json={'name-sf':'xiaoming',
           'age':80
           
}
Json.name-sf; //VM157:2 Uncaught ReferenceError: sf is not defined
Json['name-sf'];//"xiaoming"
怪我咯

1.讲道理,在结果上没什么区别
.运算符后必须是一个以属性名称命名的简单标识符;
[]里必须是计算结果是一个字符串的表达式,字符串即为属性的名字,适合动态使用
2.一个创建字符串,一个创建DOM节点,你觉得没区别?
3.这个简单说不完,用ajax把数据提交到服务器与获取数据,js主要是DOM操作

PHP中文网

1.当对象的属性是折线形式命名的时候,只能用方括号

var obj={
    'my-name':'world'
}

console.log(obj.my-name)   //报错
console.log(obj['my-name'])  //world

当对象的属性是一个变量的时候,用方括号

var obj={
    'name':'world'
}

var a='name'
console.log(obj.a)  //报错
console.log(obj[a])  //hello
高洛峰

如果对象的属性包含空格,.号就不适合了,还有当你想取一个变量对应的字符串的属性值的时候,都需要使用[]方式来获取,.号更方便,[]功能更强

高洛峰

当name是一个变量/是一个包含特殊字符的字符串时, 你只能用[]

在js中有时用[]来避免字符串压缩

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号