-
运算符的优先级
如果运算符比较多的情况下,以便后续阅读,可以嵌套小括号
舍入误差的情况以及解决方案
js IEEE754 存储浮点型数据类型的标准
查看全部 -
特殊类型的隐式转换 NaN,0,undefined,null,""
这五个会转为false,其他的都会转为true
逻辑运算符&&和||隐式转换下的情况
&&和|| 会进行短路运算,并不会转换为布尔值 ,如果需要做判断,也是根据短路运算返回值判断
==和===的区别
== 会先进行隐式转换 再比较
=== 不会进行隐式转换,直接比较
查看全部 -
深拷贝: 赋值的时候,如果发现该值是引用数据类型,就循环,一直去找基本数据,找到就赋值。如果赋值的时候碰到引用数据类型直接赋值,那么这个时候就是浅拷贝了。
Object.create() // 一般用于浅拷贝
JSON.parse(),JSON.stringify // 一般用于深拷贝
查看全部 -
深拷贝:更改拷贝后的值不会影响到拷贝前的值
浅拷贝: 更改拷贝后的值会和拷贝前的值一致
常用拷贝方法:
遍历赋值
Object.create()
JSON.parse()和JSON.stringify()
查看全部 -
栈:计算机为原始类型开辟的一块内存空间:string number ... 引用数据类型的引用地址
堆: 计算机为引用类型开辟的一块内存空间 object
查看全部 -
instanceof 检测数据对象返回bool (true,false)
instanceof 判断A是否在B的原型链上
检测方法:
console.log(Object.prototype.toString.call('1')) // string
总结:typeof 和 instanceof检测数据类型的异同
typeof返回值是一个字符串,该字符串说明运算数的类型;结果为number,bollean,string,function(函数),object(null,数组,对象),undefined
instanceof 是用来判断A是否为B的实例化对象,检测的是原型 返回值是布尔值
查看全部 -
typeof 少了null , 多了function 检测数组也是function 这是因为检测底层是否有包含call,包含就是function, 不包含就是object
查看全部 -
深拷贝 & 浅拷贝
查看全部 -
浅拷贝:假设B复制了A,当修改A时,看B是否会发生变化,如果B跟着变了.
深拷贝:假设B复制了A,当修改A时,看B是否会发生变化,如果B没变.
查看全部 -
栈:计算机为原始类型开辟的一块内存空间 string number ... 堆:计算机为引用类型开辟的一块内存空间 object
查看全部 -
instanceof 原型链 A instanceof B true,B instanceof C true
object.prototype.toString.call()检测数据是什么类型
typeof 返回值是一个字符串,该字符串说明运算数的类型;结果为number,boolean,string,function(函数),object(null,数组,对象),undefined.
instanceof是用来判断 A 是否为B 的实例对象,检测的是原型
查看全部 -
console.log(typeof(null)) //返回object
console.log(typeoof(function(){}) //返回function
console.log(typeoof(Array)) //返回function
typeof 少null(历史bug) 多function(设计问题)
查看全部 -
存储形式-堆栈
查看全部
举报