1、JS中 + 操作符什么时候用于字符串的拼接
如果 + 操作符其中一个操作符是字符串(或者通过ToPrimitive操作之后最终得到的字符串),则执行字符串拼接,否则执行数字加法
2、JS中 == 操作符的强制类型转换规定
首先判断两者的类型是否相同,如果不同会进行类型转换,相同的话就比较大小
转换情况:
a、字符串和数字之间的相等比较,将字符串
1 == '1' 1 == 1 true
b、其他类型和数字之间的相等比较,先将布尔值转换为数字后,在应用其他规则进行比较
true == '1' 1 == '1' 1 ==1 true
c、null和undefined之间的相等比较,结果为true,其他值和他两比较都返回false
d、对象和非对象之间的相等比较,会将对象先转化为基本数据类型再进行比较
e、如果两个操作值都是对象,则比较他们是不是指向同一个对象,如果两个操作数都指向同一个对象,则相等操作符返回true,否则返回false
3、JS中对事件代理的理解以及应用场景
事件代理:把一个元素响应事件的函数委托到另一个元素上,也叫事件委托
优点:只要操作一次dom,从而提高了程序的性能
4、JS中对事件流的理解
事件流:捕获阶段 目标阶段 冒泡阶段(事件委托)
事件捕获:不太具体的节点先接收到事件,而最具体的节点最后接收事件
事件冒泡:最具体的节点先接收事件,不太具体的节点最后接收事件
5、JS中instanceof操作符的实现原理以及实现
instanceof操作符用于判断构造函数的prototype 属性是否出现在对象的原型链中的任何位置