糟粕
毒瘤
- 不使用全局变量
- 使用块级作用域,不var
- return与返回值要位于同一行,否则当自动插入分号后会返回undefined
- 当对象的属性名与js保留字相同时,无法使用点语法,使用括号表示法
- js字符是16位的,unicode将一对字符视为一个单一的字符,而js将其认为是两个不同的字符
- 注意typeof对于null和正则返回'object'
- parseInt在遇到非数字时会停止,注意parseInt('16')和parseInt('16 jk')均返回16
- +运算符会根据参数来判断是数值计算还是字符串拼接
- NaN不是数字并且它不等于自身,typeof对于其返回'number',判断值是否为数值类型可用typeof value === 'number' && isFinite(value)
- js的数组是伪数组,不需设置维度、不会越界,但性能不如真正的数组,typeof不能区别数组与对象,可用instanceof区别
- js的假值:0、NaN、''、false、null、undefined
- hasOwnProperty是一个function而不是运算符,不会查询原型链上的属性,可以被替换,不要使用obj.hasOwnProperty=null之类
- js的默认对象不是空对象,当原型链可能对我们产生影响时,使用Object.create(null)创建纯净的对象
- 不使用==,而是===;不使用!=,而是!==
- 不使用with语句
- 不使用eval语句
- 适当地使用continue语句能提高可读性,但性能不如重构去除continue的代码
- swith中的每个case下注意break,小心穿越到下个case
- if语句可以接受单行语句,但此时还是应加上花括号
- ++、--不够严谨,使得代码过于拥挤,不使用的话代码可以变的更整洁
- 使用位操作符(& | ^ ~ >> >>> <<)要小心点,&容易误写为&&
- function语句定义的函数存在声明提升,使用函数表达式或IIFE替代之
- 不要使用类型的包装对象,形如new Boolean()、new Number()、new String(),另外也应避免使用new Object()、new Array(),使用{}、[]代替
- new运算符后跟的函数应以首字母大写的形式命名
- js中的void是一个运算符,接受一个运算数并始终返回undefined,没有作用,应避免使用
欢迎关注、点赞
相关阅读
对于许多企业来说,他们的的目光不仅仅局限于国内市场。相应,这些企业所需要的网站就不单是中文界面了。那大家知道对于多语言需要的
JavaScript主要作用是什么呢?学习编程的同学对JavaScript并不陌生,JavaScript是前端技术中非常重要的内容,是网站搭建必不可少的
一、基本概念 1.二叉排序树 二叉排序树(Binary sort tree,BST),又称为二叉查找树,或者是一棵空树;或者是具有下列性质的二叉树: (1)若
1.文件偏移 通常调用read或write每读写一个文件,就会改变文件的读写位置。在linux中同样可以使用lseek函数来修改文件偏移量,即读
JavaScript问题:一张纸的厚度是0.0001米,将纸对折,对折多
使用JavaScript 使用for 循环: var mountain = 8848; var paper = 0.0001; for (var i = 1; i < 100; i++) { paper *= 2;