编写Javascript 时给自己提个醒!(一)

原创 2016年08月29日 11:17:23

1.移去“Language”属性, 现在没啥用了

代码:去掉language=”javascript”

<script type="text/javascript">
...
</script>

2.谨慎用相等运算符“==”,要用“===”替换

   0 == ''// true
  1 == true // true
  2 == true // false
  0 == '0' // true
  false == 'false' // false
  false == '0' // true
  " \t\r\n " == 0 // true
  
/*
“如果两个比较对象有着同样的类型和值,===返回true,!==返回false。”
   如果使用==和!=,在操作不同数据类型时, 你可能会遇到一些意想不到的问题。在进行相等判断前,JavaScript会试图将它们转换为字符串、数字或 Boolean量。
   先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等: 
1、如果类型不同,就[不相等] 
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断) 
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。 
4、如果两个值都是true,或者都是false,那么[相等]。 
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。 
6、如果两个值都是null,或者都是undefined,那么[相等]。 
再说 ==,根据以下规则: 
1、如果两个值类型相同,进行 === 比较。 
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较: 
   a、如果一个是null、一个是undefined,那么[相等]。 
   b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。 
   c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。 
   d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻烦,我也不大懂) 
   e、任何其他组合,都[不相等]。*/

3.不要省略了句尾的分号“;”

  
虽然,不加分号 Javascript会自动加分号, 如下:

var a = 1

等同于
  

var a = 1;

但是:

  x = y
  (function (){
    ...
  })();

上面的代码等同于
  

x = y(function (){...})();

所以要习惯添加 分号。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

编写高质量javascript代码的68方法

  • 2017年11月23日 23:17
  • 45.71MB
  • 下载

编写可维护的Javascript(中文版)

  • 2016年01月12日 16:43
  • 20.3MB
  • 下载

读《编写可维护的JavaScript》的收获

第一部分 编程风格 第一章 基本的格式化 1.使用tab/4个空格作为一个缩进层级 2.不要省略分号 3.单行长度不超过80个字符 若单行长度超出,则手动拆成两行,通...

编写可维护的JavaScript

  • 2015年05月02日 03:36
  • 19.8MB
  • 下载

JavaScript全功能轮播图编写总结

效果如下(由于图片限制上传大小为2M,所以下面的动态图演示了部分功能),这套轮播图应该是功能非常全面了,包括预览小图,翻页按钮,右下角和左下角提示性的文字,中间的标记条,鼠标移入,点击等事件的处理等。...

编写可维护的javascript(三):语句和表达式

所有块语句都应当使用花括号,包括:if、for、while、do…while…花括号的对齐方式 第一种对齐风格: if (condition) { doSomething();...

编写可维护的JavaScript

  • 2015年05月20日 14:11
  • 2.86MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编写Javascript 时给自己提个醒!(一)
举报原因:
原因补充:

(最多只允许输入30个字)