Tiffany_c4df
JavaScript编写高质量的68个有效方法
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
Tiffany_c4df
社区首页
>
专栏
>
JavaScript编写高质量的68个有效方法
JavaScript编写高质量的68个有效方法
Tiffany_c4df
关注
发布于 2019-09-04 15:35:38
发布于 2019-09-04 15:35:38
755
0
举报
文章被收录于专栏:
前端小课堂
前端小课堂
第一条:了解你使用的javascript
严格模式
use strict
不允许重定义arguments变量
只有在脚本或函数的顶部才生效
不要将进行严格模式检查的代码和非严格模式的代码进行打包压缩
可通过立即调用函数隔离严格与非严格区域,单独隔离作用域
编写库时,开启严格检查,兼容性更强
代码语言:
javascript
复制
(function () { "use strict"; function f() { // code } })();
第二条:理解js浮点数
位运算会将数字转换为32位大端的2的补码表示的整数,8表示为0000 0000 0000 0000 0000 0000 0000 1000,可通过(8).toString(2) // ‘1000’,指定基数进行转换
0.1 + 0.2 不等于0.3
整数运算,计算只适用于$$(-2)^{53} - 2^{53}$$
第三条:隐式转换
3 + true // 4
“2” + 3 // “23”
2 + “3” // “23”
1 + “2” + 3 // “123”
“17” * 3 // 51
x === NaN // false
对象的隐式转换,会调用自身的toString()转换为字符串或者valueOf()方法转换为数字,问题就在于调用这两个方法的优先级。具有vauleOf方法的对象应该实现toString方法,返回一个valueOf方法产生的数字字符串表示。
存在toString方法,就调用toString方法
存在valueOf方法,就调用valueOf方法
同时存在toString、valueOf方法,优先调用valueOf方法
真值转换,js中有7个假值:false、0、-0、””、NaN、null、undefined
检测一个值是否是未定义的值,应该使用typeof或者与undefined进行比较,而不是直接if(!x)
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2019-05-21,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
java
编程算法
目录
第一条:了解你使用的javascript
第二条:理解js浮点数
第三条:隐式转换
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档