欢迎来到知了堂!
联系电话:知了堂-电话号码 028-62016472

12种JavaScript使用误区-知了堂

12种JavaScript使用误区

  (1)赋值运算符应用错误【例如在if条件语句中,正确的是使用比较运算符==】

  var x = 0;

  if (x = 10)//返回true,因为条件语句执行了为x赋值10,10为true

  (2)比较运算符的常见错误【例如==与===】

  var x = 10;

  var y = "10";

  if (x == y)//返回true,而如果条件语句是x===y则返回false

  注:switch语句中使用恒等运算符===进行比较

  例如

  var x = 10;

  switch(x) {

  case "10": alert("Hello");

  }//不会执行alert弹窗

  (3)加法与连接的注意事项

  加法是两个数字相加,连接是两个字符串连接,但JavaScript中的加法和连接都使用+运算符

  例如:

  var x = 10 + 5;          // x 的结果为 15

  var x = 10 + "5";        // x 的结果为 "105"

12种JavaScript使用误区

 

  (4)浮点型数据使用注意事项

  JavaScript中的所有数据都是以64位浮点型数据(float)来存储,所有的编程语言,包括Javascript,对

  浮点型数据的精确度都很难确定。

  例如:

  var x = 0.1;

  var y = 0.2;

  var z = x + y            // z 的结果为 0.3

  if (z == 0.3)            // 返回 false

  解决办法:

  var z = (x * 10 + y * 10) / 10;       // z 的结果为 0.3

  (5)JavaScript字符串分行

  JavaScript中允许我们在字符串中使用断行语句,即使用反斜杠

  var x = "Hello

  World!";

  (6)错误使用分号

  例如:

  if (x == 19);

  {

  // code block

  }

  if语句中的代码块一定会执行

  (7)return语句使用注意事项

  例如:

  function myFunction(a) {

  var

  power = 10;

  return

  a * power;//返回了undefined,因为JavaScript认为return语句是完整的,将其自动关闭即:return;

  (8)数组中使用名字来索引

  JavaScript 不支持使用名字来索引数组,只允许使用数字索引。对象使用名字来作为索引。

  如果你使用名字作为索引,当访问数组时,JavaScript 会把数组重新定义为标准对象。

  执行这样操作后,数组的方法及属性将不能再使用,否则会产生错误:

  例如:

  var person = [];

  person["firstName"] = "John";

  person["lastName"] = "Doe";

  person["age"] = 46;

  var x = person.length;         // person.length 返回 0

  var y = person[0];             // person[0] 返回 undefined

  (9)定义数组元素,最后不能添加逗号

  例如:

  var colors = [5, 6, 7,]; //这样数组的,在不同的浏览器中,长度可能为3 也可能为4

  (10)定义对象,最后不能添加逗号

  websites = {site:"知了堂", url:"www.zhiliaotang.net", like:460,}

  (11)undefined不是null

  在JavaScript中,null用于对象,undefined用于变量、属性、方法。对象只有被定义才有可能为null,否则为undefined,

  如果我们想测试对象是否存在,在对象还没定义时将会抛出错误。

  if (typeof myObj !== "undefined" && myObj !== null) //判断对象是否存在的方法

  (12)程序块作用域

  在每个代码块中 JavaScript 不会创建一个新的作用域,一般各个代码块的作用域都是全局的

  以下代码的的变量 i 返回 10,而不是 undefined:

  例如:

  for (var i = 0; i < 10; i++) {

  // some code

  }

  return i;

       版权声明:本文来源于网络,由知了堂搜集整理,仅供大家学习