js进阶--JSON,克隆,解构赋值,class类与箭头函数 06

Array.from(类数组)

Array.from(类数组) 将类数组转换为数组

var ary = [];
function A() {
   
    ary = Array.from(arguments);
}
A(1, 2, 3, 10, 9);
console.log(ary);
sort中的a,b代表的每一项
var ary=[{
   age:10},{
   age:20},{
   age:1}];
ary.sort(function(a,b){
   
    console.log(a,b);
	//第一次a为第一项 b为第二项
	//第二次a为第二项 b为第三项
	//我们让它根据age排序
	return a.age-b.age;
})
console.log(ary);//[ { age: 1 }, { age: 10 }, { age: 20 } ]
JSON

JSON是一种常用的数据格式,不是数据类型(前端和后台需要来回的传递数据,一般传递的数据格式就是JSON数据类型)
属性名必须得用双引号引起来,属性值可以是任意的数据类型

  • JSON对象转为普通对象 JSON.parse(JSON对象)
  • 普通对象转JSON对象 JSON.stringify(普通对象)
var obj='{"name":"li","age":10}';
var res=JSON.parse(obj);//JSON.parse(json格式的属性)   转为普通对象
console.log(res);//{ name: 'li', age: 10 }
console.log(obj.name);//undefined

var obj2=JSON.stringify(res);//JSON.stringify(普通对象)   普通对象转为JSON格式
console.log(obj2);//"{"name":"li","age":10}"
浅克隆

共用一个引用地址,改变的其中的引用数据类型的话,会有连带作用,基本数据类型没事

var obj={
   name:"li",age:10,aa:{
   c:100}};
var obj2={
   };
for(var key in obj){
   
    obj2[key]=obj[key];
}
console.log(obj,obj2);//{ name: 'li', age: 10, aa: { c: 100 } } { name: 'li', age: 10, aa: { c: 100 } }
obj2.aa.c=200;
obj.name="wang";
console.log(obj,obj2);//{ name: 'wamg', age: 10, aa: { c: 200 } } { name: 'li', age: 10, aa: { c: 200 } }
深克隆

JSON.parse(JSON.stringify(普通对象))可以克隆一份一模一样的,而且没有任何关联

var obj={
   name:"li",age:10,aa:{
   c:100}};
var obj2={
   }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值