关于获取JSON里面数据的俩种方法有何不同?

1.比如

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

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

2.还有一个问题。比如

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

和这个

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

这俩有啥区别

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

阅读 3.5k
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操作

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中有时用[]来避免字符串压缩

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题