Javascript·常见错误及用法习惯(新手入门)

Posted lailer132

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript·常见错误及用法习惯(新手入门)相关的知识,希望对你有一定的参考价值。

数据类型

1.字符串

  如果想用双引号来包住一个本身就包含双引号的字符串,就必须用反斜杠对字符串中的双引号进行转义:

    var height = "about 5‘ 10\\" tall";
  值得注意的是反斜杠并不是字符串的一部分。您可以去验证一下:
  alert(height);

技术分享图片

2.数组与对象

  新手可能会用到关联数组,这种用法不是一个好习惯。这时应该使用通用的对象(Object)

  什么是关联数组? 

1   var a = array(3);
2   a[0]="my";
3   a[1]=1995;
4   a[2]=false;  //这种是典型的Beatles数组。
5 
6   var a = array(3);
7   a[name]="my";
8   a[age]=1995;
9   a[live]=false;  //用字符串代替数字值,这种就叫做关联数组,提高可读性。

  既然都是为了可读性创建对象,何必加多一步数组来创建,不妨我们直接用对象(Object)来创建。

 1 var a = Object(); //或者 var a = {};
 2 a.name = "my";
 3 a.age = 1995;
 4 a.live = false;
 5 //还有一种更简洁的写法,也是最常用的写法
 6 var a = {
 7     name:"my",
 8     age:1995,
 9     live:false
10 };

3.操作

  算术操作法要养成好习惯,把多种操作组合在一起时,要用括号把操作分隔,避免歧义。

  1+4*5 -> (1+4)*5 ->1+(4*5)

  有时也常把自加写反(新手)再次提醒:“+=”。

4.条件语句

  在判断语句if中,习惯性我们都会用{}。如果是语句很少时,可以写在同一行上。

if ( 1 > 2 ) alert("hello world!"); 

  在接下来的H5中的判断操作符,“比较操作符”需要更严谨的写法,尽量写“===”、“!==”。

  还有我们常见的逻辑操作符 && 和 || 外,还要注意这种“逻辑非”的操作符 如:“!( num > 10 || num < 5 )”。

5.循环语句

  与 if 相似的 while 多了循环,条件成立时就一直循环。还有一种 do{}while(),不管条件是否成立第一次都会执行。

  for 循环最常用的就是遍历对象长度(Object.lenght)

var beatles = Array("john","Paul","George","Ringo");
for ( var count = 0; count < beatles.length; count++ ){
    alert(beatles[count]);
}

6.函数与变量的作用域

  理解函数,不如来理解它的意图。让函数体现得更有价值,如我们把它当作一种数据类型来使用:

1 function convertToUSD( CNY ){
2     var result = CNY * 6.5;
3     return result;
4 }
5 var CNY = 99;
6 var USD = convertToUSD( CNY );
7 alert( USD );
8 //输出结果就是把人民币转换成美元。

  值得注意的是1行convertToUSD( CNY )不等于6行convertToUSD( CNY ),CNY 是形参 CNY 是实参

  function fn( CNY ) -> 封装函数括号内的是形参,也是唯一的。可以理解为函数 function( var CNY ) 给自己定义用的变量。

 

  变量的作用域,我们在函数中声明的变量是局部变量,它只存在于这个函数的上下文。让新手混淆的是全局与局部问题:

 1 function square( num ) {
 2     total = num * num;
 3     return total;
 4 }
 5 var total = 50;
 6 var number = square( 20 );
 7 alert( total );
 8 //要想使得全局 total 不受影响,可以写成如下所示
 9 function square( num ) {
10     var total = num * num;
11     return total;
12 }
13 //这里替换上面,全局和局部就同名了,且局部影响不了全局变量

 7.New 与 构造函数

  当我们加new的时候是 构造对象,不加new 则是普通函数的调用。

 1  1 //当想声明几个任务对象时,可能你会一个一个去声明
 2  2 var num1 = { name:Tim, age:20, ... };
 3   var num2 = { name:May, age:19, ... };
 4   var num3 = { name:Ken, age:26, ... };
 5   ... ...
 6   //一一个声明时数量多,会很繁琐,难维护。
 7   //这时我们就得写个函数去构造,也就是new
 8   function Person( name,age ) {
 9       this.name = name;
10      this.age = age;
11      ... ...
12  }
13  var num1 = new Person( "Tim",20 );
14  var num2 = new Person( "May",19 );
15  var num3 = new Person( "Ken",26 );
16  ... ...
17  
18  //如果你只是想写一个方法调用,则不用new它。
19  //如之前的转换美元convertToUSD()只是个方法,没有必要生成对象。

 

以上是关于Javascript·常见错误及用法习惯(新手入门)的主要内容,如果未能解决你的问题,请参考以下文章

编程习惯与代码风格总结之C/C++篇(更新······)

Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} ;

python中常见错误及try-except 的用法

Gerrit 中使用的常见用法及常见问题记录(更新中)

if常见错误及ifelse用法

C++初级static用法总结问题探讨及常见错误排查