js的一些注意点
18-12-24
oninput事件:
在用户输入时触发,它是在元素值发生变化时立即触发;
该事件在 <input> 或 <textarea> 元素的值发生改变时触发。
缺陷:从脚本中修改值不会触发事件。从浏览器下拉提示框里选取值时不会触发。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替。
onpropertychange事件:
会实时触发,会在元素的属性改变时就触发事件。当元素disable=true时不会触发。
缺陷:只在IE 下支持,其他浏览器不支持,用oninput来解决。
18-12-27
addEventListener()
2015年年底,DOM 规范做了修订:addEventListener() 的第三个参数可以是个对象值了,也就是说第三个参数现在可以是两种类型的值了:
addEventListener(type, listener, { capture: false, passive: false, once: false })
capture:改为事件捕获时触发事件(默认:事件冒泡时调用)
passive:是否让阻止默认行为(preventDefault()) 失效,能够提升移动端的性能。
once 属性就是表明该监听器是一次性的,执行一次后就被自动 removeEventListener 掉
19-08-21
伪数组转换为真数组:
var obj = {'0': 9, '1': 99, 'length': 2}
Array.prototype.slice.call(obj) //[9, 99]