js里面的Object基本
属性名必须是字符串,非字符串对象不能用来作为一个对象属性的键,任何非字符串对象,包括number,可通过toString()方法,类型转换成一个字符串
1 1,Object基本格式 2 <script type="text/javascript"> 3 var o = {}; 4 var o = {a:'foo',b:42,c:{}} 5 console.log(o)
</script>
2,Object基本格式 <script type="text/javascript"> var a = 'foo', b = 42, c = {}; var o = { a: a, b: b, c: c } console.log(o)
</script>
1 3,Object中的[]不明白 2 <script type="text/javascript"> 3 var prop = 'foo'; 4 var o = { 5 [prop]:'Hello', 6 ['b'+'ar']:'World' 7 } 8 console.log(o)
</script>
4,Object对象属性的访问
<script type="text/javascript">
let obj = {
foo:"bar",
age:42,
baz:{myProp:12},
}
// 创建对象后,可以读取或者修改它。对象属性可以用下标小圆点标记或者方括号标记访问。 object.property object['property']
console.log(obj.foo)
console.log(obj['foo'])
obj.foo = "baz"; // 修改 对象属性的值
console.log(obj)
![](https://img2018.cnblogs.com/blog/1300684/201810/1300684-20181031180225129-1949151844.png)
</script>
5,Object对象与JSON的区别 JSON只允许 "property":value 形式的属性定义。属性名必须用双引号括起来。 Date等对象,经JSON.parse()处理后,会变成字符串 JSON.parse()不会处理计算的属性名。
6,Object对象里面的 ... 与Object.assign() <script type="text/javascript"> var obj1 = {foo:'bar',x:42}; var obj2 = {foo:'baz',y:13}; var clonedObj = {...obj1};
console.log(clonedObj)
var mergedObj = {...obj1,...obj2}
console.log(mergedObj)
![](https://img2018.cnblogs.com/blog/1300684/201811/1300684-20181101100520128-883698798.png)
</script>
7,Object.assign(target,sources) <script type="text/javascript"> // Object.assign() 方法用于将所有可枚兴属性的值从一个或多个源对象复制到目标对象,它将返回目标对象 // Object.assign(target,...sources) target 目标对象 sources 源对象 const object1 = { a:1, b:2, c:3 }; const object2 = Object.assign({c:4,d:5},object1) console.log(object2.c,object2.d) // 如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。
![](https://common.cnblogs.com/images/loading.gif)
![](https://img2018.cnblogs.com/blog/1300684/201811/1300684-20181101104700028-1924019501.png)
console.log(object2)
</script>