JavaScript 有用的代码片段和 trick

作者:jenemy

原文:https://segmentfault.com/a/1190000011557368

本文内容来自知乎《有哪些短小却令人惊叹的 JavaScript 代码?》和文章《这些JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已》,同时也汇集了部分网上其它来源的内容。

浮点数取整

注意:前三种方法只适用于32个位整数,对于负数的处理上和 是不同的。

生成6位数字验证码

16进制颜色代码生成

驼峰命名转下划线

url查询参数转json格式

获取URL参数

n维数组展开成一维数组

注:更多方法请参考《How to flatten nested array in JavaScript?》

日期格式化

统计文字个数

特殊字符转义

动态插入js

格式化数量

身份证验证

测试质数

统计字符串中相同字符出现的次数

使用 来解决 被污染问题

单行写一个评级组件

JavaScript 错误处理的方式的正确姿势

匿名函数自执行写法

两个整数交换数值

数字字符转数字

最短的代码实现数组去重

用最短的代码实现一个长度为m(6)且值都n(8)的数组

将argruments对象转换成数组

获取日期时间缀

使用 来简化

or

两者的差别之处在于解析转换两者之间的理解。

解析允许字符串中含有非数字字符,解析按从左到右的顺序,如果遇到非数字字符就停止。而转换不允许出现非数字字符,否者会失败并返回NaN。

方法第二个参数用于指定转换的基数,ES5默认为10进制。

对于网上 的结果为什么为8,原因在于0.0000008转换成字符为"8e-7",然后根据 的解析规则自然得到"8"这个结果。

+ 拼接操作,+x or String(x)?

+运算符可用于数字加法,同时也可以用于字符串拼接。如果+的其中一个操作符是字符串(或者通过 隐式强制转换可以得到字符串),则执行字符串拼接;否者执行数字加法。

需要注意的时对于数组而言,不能通过 方法得到简单基本类型值,于是转而调用 方法。

对于对象同样会先调用 方法,然后通过 方法返回对象的字符串表示。

对于 隐式转换和 显示转换有一个细微的差别: 会对a调用 方法,而 直接调用 方法。大多数情况下我们不会考虑这个问题,除非真遇到。

判断对象的实例

数据安全类型检查

让数字的字面值看起来像对象

对象可计算属性名(仅在ES6中)

觉得本文对你有帮助?请分享给更多人

关注「前端大学」,提升前端技能

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180118A0UHCR00?refer=cp_1026

扫码关注云+社区