扫码关注公众号

前端JS语言之语法相关
09-15
632观看
01

转换Boolean类型的方式?

方式:调用Boolean()函数数字转换Boolean类型除0和NaN外,都是true。Boolean(123);//trueBoolean(-123);//trueBoolean(0);//falseBoolean(NaN);//false字符串转换Boolean类型除空字符串,其余都是trueBoolean("");//falseBoolean("false");//trueBoolean("true");//trueBoolean("");//trueNull转换Boolean类型是falseBoolean(null);//falseundefined转换Boolean类型是falseBoolean(undefined);//falseObject转换Boolean类型是trueBoolean(Object);//true

来自:JavaScript语言-语法相关-操作符相关
02

实现浅拷贝的方法?

(1)for···in只循环第一层//只复制第一层的浅拷贝functionsimpleCopy(obj1){varobj2=Array.isArray(obj1)?[]:{};for(letiinobj1){obj2[i]=obj1[i];}returnobj2;}varobj1={a:1,b:2,c:{d:3}}varobj2=simpleCopy(obj1);obj2.a=3;obj2.c.d=4;alert(obj1.a);//1alert(obj2.a);//3alert(obj1.c.d);//4alert(obj2.c.d);//4(2)Object.assign方法varobj={a:1,b:2}varobj1=Object.assign(obj);obj1.a=3;console.log(obj.a)//3(3)直接用=赋值leta=[0,1,2,3,4],b=a;console.log(a===b);a[0]=1;console.log(a,b);

来自:JavaScript语言-语法相关-操作符相关
03

实现深拷贝的方法?

(1)采用递归去拷贝所有层级属性(2)通过JSON对象来实现深拷贝(3)通过jQuery的extend方法实现深拷贝(4)lodash函数库实现深拷贝(5)Reflect法(6)手动实现深拷贝(7)如果对象的value是基本类型的话,也可以用Object.assign来实现深拷贝,但是要把它赋值给一个空对象(8)用slice实现对数组的深拷贝(9)用concat实现对数组的深拷贝(10)直接使用varnewObj=Object.create(oldObj),可以达到深拷贝的效果。(11)使用扩展运算符实现深拷贝

来自:JavaScript语言-语法相关-操作符相关
课程
专栏
js语言和框架-JavaScript语言-语法相关-操作符相关
3专栏
1课程
4 试题
热门专题