前端经验

JS检测浏览器版本的方法

使用navigator.userAgent的值来判断。userAgent是JavaScript的内置对象navigator的属性。 Chrome浏览器下的navigator.userAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87...

前端经验

JavaScript中的==、===和Object.is()

1、== 等于,左右两边值的类型不同时,先进行类型转换,再比较。 (1)null和undefined相等。 (2)字符串和数值比较会先将字符串转换为数值。 (3)true会转换成1再比较,false会转换为...

前端经验

总结IE浏览器事件处理与其他浏览器的差异

1、表示发生事件: (1)非IE浏览器下,事件对应的函数有一个隐藏的变量e,表示发生事件。 (2)IE下,不需要e变量,window.event表示发生事件。 解决方案:用e||window.event来兼容。 2、...

前端经验

【Leetcode】532. K-diff Pairs in an Array

思路: 成对的值不分先后,所以先对nums进行排序。 用一个set存储出现过的值,用于后续判断是否某个值已经有值与其成对。 分为两种情况: (1)k==0,即找出值相等的对数。 再用一...

前端经验

手机H5 meta标签 viewport设置移动端自适应

1、viewport 移动设备上的viewport是设备屏幕上用来显示网页的那部分区域,再具体一点就是浏览器上用来显示网页的那部分区域,但viewport又不局限于浏览器可视区域的大小,它可能比浏...

前端经验

HTML5的新特性——data-*自定义属性

HTML5增加了一个新特性data-*自定义属性。 可以往HTML标签上添加任意以 data-开头的属性,这些属性在页面上是不显示的,即不会影响到页面布局和风格,但它却是可读可写的。 使用data...

前端经验

JavaScript的bind()、apply()、call()的使用

1、call()和 apply() 在 JavaScript 中,call()和 apply()是为了改变某个函数运行时的上下文而存在的,也就是为了改变函数体内部 this 的指向。 当一个对象没有某个方法,而其它对象有该方法时...

前端经验

JavaScript空数组[]和空对象{}的布尔运算

空数组[]和空对象{}都是object类型: console .log( typeof []); // 控制台输出:objectconsole.log( typeof {}); // 控制台输出:object 空数组[]转化为Number,会得到0;空对象{}转化为Number,会得到NaN:...