在javascript篇中,我们来看看你是如何学习web前端的https://pan.Baidu.com/s/16 gwfh 17 fihyshvevt 02 okq二维码: 86ir的
http://www.Sina.com/http://www.Sina.com /
基本数据类型: undefined、null、boolean、number、string、symbol(es6的新数据类型)引用数据类型: object、array、function (统称object )
typeof可以显示基本数据类型的正确类型(null除外)。 typeof针对对象
instanceof通过原型链判断数据类型
P1=new person (P1 instance of person//true object.prototype.tostring.call )是一种完美的方法,因为它可以检测所有数据类型。
var obj={ } vararr=[ ] console.log (object.prototype.tostring.call (obj ) )/[objectobject]console.log )
type of5//' number ' type of '5//' string ' type of undefined//' undefined ' type of false//' boolean ' type of symbol /
P1=new person (P1 instance of person//true object.prototype.tostring.call )是一种完美的方法,因为它可以检测所有数据类型。
var obj={ } vararr=[ ] console.log (object.prototype.tostring.call (obj ) )/[objectobject]console.log ) [object Array]看看我是怎么学习网络前端https://pan.Baidu.com/s/16 gwfh 17 fihyshvevt 02 okq二维码: 86ir的
一、数据类型
浅拷贝
Object.assign ()//es6的方法Object.assign合并对象以生成新对象。 实际上,Object.assign仍然是一个浅副本,因为如果对象的属性更改了常规类型,新对象不会改变;如果对象的引用类型更改了,新对象也会改变。
var obj={aa:1,b:{item:'45'}}; varnewobj=object.assign (,obj ); obj.aa=2; obj.b.item='kk '; console.log(newobj.aa ); //1console.log(newobj.b.item ); //kk深度复制
JSON.Parse(JSON.Stringify ) (obj ) ) ) ) )。
您可以使用json.stringify(obj )将对象转换为json字符串,然后将json.parse )转换回JSON对象以进行深度复制。 这也是一般的方法
JavaScript 有几种类型
实际上,深度复制可以分为两个步骤。 浅副本递归,如果是浅副本,则判断属性值是否为对象,如果是对象,则递归操作。 两者结合起来可以实现深度复制。
函数克隆深度(source ) if (! isobject(source )返回源; //非对象是否要返回自己的vartarget=array.isarray(source )? [] : {} for(varkeyinsource(if ) source.hasownproperty ) I ) ) if ) isobject ) source[key] ) target[key]=clonedeeeect //} } }返回目标; }functionisobject(obj ) { return typeof obj==='object' obj!=空; 看看你是怎么学习网络前端https://pan.Baidu.com/s/16 gwfh 17 fihyshvevt 02 okq二维码: 86ir的
参考文章: 2021前端基本面包过面问题-我知道