首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js数组、json、js对象区别联系

理清这些问题,第一步当然是找到他们概念:js所有事物都是对象:字符串、数值、数组、函数…此外,JavaScript允许自定义对象 (1)JS数组,常态为var a = [1,2,3]格式,用文字来形容就是一个有序数列...person.key=“value” ; (3)json:一种存储和交换信息格式,常态为var json = {“key”:“value”}格式,这里和js对象不同是key多了“” 区别联系:...字符串) ==》 转化成json对象 JSON.stringify(json对象) ==》转化为json字符串 二、js对象json对象 js对象, var person = {key:“...记得上面概念里,js所有事物都是对象,那么我们完全可以把json对象当做js对象子集,string只是js对象key数据类型中一个选项 额外说一点,js里面是没有键值对数组这一说,现有的这种键值对数组...a[1].name 都是可以使用类似于数组索引,但它实质是js对象object

9.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

对象对象之间关系

对象对象之间关系 标签:java基础 依赖关系 class Student { private List courses; } class Course { }...(Aggregation) 聚合关系表示整体部分关系,是一种弱拥有关系。...组合关系表示整体部分关系,是一种强拥有关系。...关联和聚合区别主要在语义上,关联两个对象之间一般是平等,例如你是我朋友,聚合则一般不是平等。 关联是一种结构化关系,指一种对象和另一种对象有联系。...聚合组合 聚合组合都是一种结合关系,只是额外具有整体-部分意涵。 部件生命周期不同 聚合关系中,整件不会拥有部件生命周期,所以整件销毁时,部件不会被销毁。

6610

JS对象数组

一  JS对象      在JS中一切事物都是对象,字符串,数值,数组,函数      对象中包含属性和方法 对象属性既可以存放基本数据类型也可以存放其他对象引用值或者函数引用值,如果存储是函数引用值则该属性称为方法...function(){ alert(this.name+"年龄"+this.age+"喜欢吃饺子") } //结果:宋江喜欢吃饺子 补充 可以用点符号访问对象属性值也可以通过数组方式...,即用["属性名称"]; 可以使用delete运算符删除对象属性 二   数组 数组创建方法 new关键字创建空数组 new关键字创建包含元素数组 new关键字创建指定元素个数数组 也可以使用[...reverse:颠倒数组元素顺序;返回值为逆序后数组。...扩充数组 concat:将多个数组元素合并为一个新数组。 arrayObject.concat(arrayX,arrayX,......

7.3K20

JS 数组对象深拷贝

博客地址:https://ainyi.com/72 JavaScript 程序中,对于简单数字、字符串可以通过 = 赋值拷贝 但是对于数组对象对象数组拷贝,就有浅拷贝和深拷贝之分 浅拷贝就是当改变了拷贝后数据...a // { name: 'krry' } b // { name: 'lily' } --- 以上是简单数组对象深拷贝方法,但是对于二维数组对象数组对象里包含对象,以上方法均达不到深拷贝方法...以上只能达到数组对象第一层==深拷贝==,对于里面的数组对象属性则是==浅拷贝==,因为里面的内存地址只是拷贝了一份,但都是指向==同一个地址== 所以当改变数组对象数组元素或对象,原数据依然会改变...二维数组对象数组、多层对象深拷贝 最常用 JSON 序列化反序列化 使用 JSON.parse(JSON.stringify(obj)) let a = [1, [2, {aa: 2}, [4...拷贝 RegExp 引用类型会变成空对象 对象中含有 NaN、Infinity 和 -Infinity,则序列化结果会变成 null 无法拷贝对象循环应用(即 objkey = obj) 自己实现深拷贝方法

8.2K30

JS中特殊对象-数组

1.1 数组创建 // 字面量方式创建数组 var arr1 = []; //空数组 // 创建一个包含3个数值数组,多个数组项以逗号隔开 var arr2 = [1, 3, 4]; // 创建一个包含...(); //空数组 var a2 = new Array('1',2,'h'); //包含三个元素数组 console.log(a1); console.log(a2); // 可以通过数组length...特别注意:JS中不像PHP,没有关联数组. 1.2 获取数组元素 // 格式:数组名[下标] 下标又称索引 // 下标从0开始 // 功能:获取数组对应下标的那个值,如果下标不存在,则返回undefined...1.3 遍历数组 遍历:遍及所有,对数组每一个元素都访问一次就叫遍历。...// 格式:数组名[下标/索引] = 值; // 如果下标有对应值,会把原来值覆盖,如果下标不存在,会给数组新增一个元素。

9.1K00

js对象和原型、原型链关系

有时候需要在两个对象之间共享属性,由于JS在设计之初没有类概念,所以JS使用函数prototype来处理这部分需要被共享属性,通过函数prototype来模拟类:当创建一个函数时,JS会自动为函数添加...__proto__ // 这种关系就是原型链可以用以下三句话来理解原型链:每个对象都拥有一个原型对象: newObj原型是foo.prototype。...对象原型可能也是继承其他原型对象: foo.prototype也有它原型Object.prototype。一层一层,以此类推,这种关系就是原型链。...一个对象是否在另一个对象原型链上如果一个对象存在另一个对象原型链上,我们可以说:它们是继承关系。...这两个属性跟foo1没有关系,它是对象foo上两个属性(类似函数:arguments/prototype/length等属性),称为静态属性。

1.5K20

js 数组对象深拷贝

数组浅拷贝 (两者指向不同对象,但是只能拷贝一层) array.concat(); array.slice(0); 如果该元素是个对象引用 (不是实际对象),slice 会拷贝这个对象引用到新数组里...两个对象引用都引用了同一个对象。如果被引用对象发生改变,则新和原来数组这个元素也会发生改变,所以是浅拷贝。...对于字符串、数字及布尔值来说(不是 String、Number 或者 Boolean 对象),slice 会拷贝这些值到新数组里。...也就是说,如果原数组改变是基本数据类型,比如String,Boolean,Number数据,不会影响到新数组; 但是如果改变对象或者数组数据,是会影响到新数组,也也就是对于对象或者数组,...新旧数组指向是一个对象

4.7K30
领券