码迷,mamicode.com
首页 > Web开发 > 详细

js之语句的一些需要注意的事情

时间:2016-09-01 23:07:12      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:

1.delete运算符是用来删除一个对象的 属性,但有一点需要注意:使用var声明的变量虽为全局变量,单不是全局对象的属性,不可以用delete删除,而为用var直接声明的全局变量为全局对象的属性,是可以用delete删除的;

2.用{}括起来形成语句块,

    (1)语句块的结尾不需要分号,但语句块中的原始语句必须以分号结尾

  注意:定义一个对象是需要;结尾的 

var obj = {x: 1, y: 2, z: 3};

 

    (2)js中没有块级作用域,所以在语句块中声明的变量并不是语句块私有的

  注意:函数声明的{}为块级作用域,在其中用var声明的变量为该函数{}内私有的

    

    {
          var a = 10; 
      }
      console.log(a); // 10

 

  

   function ret() {
        var a = 10;
    }
    ret();
    console.log(a); // a is not defined

 

 3.善用空循环,有时妙用空循环是很好用的

  

var arr = new Array(7);
    var len = arr.length;

    for(var i = 0; i < len; arr[i++] = 0);
    console.log(arr); //[0, 0, 0, 0, 0, 0, 0]

 

 

4.switch 中的case匹配操作是‘===‘比较,而不是‘==‘比较,所以case匹配不会做任何类型转换

5.for-in 循环用来遍历对象的属性

   for(var prop in obj) {} 

  在for-in语句中 ,js解释器会先计算obj,如果obj为null或者undefined,js解释器 会跳过循环并执行后续代码;如果表达式为一个原始值,这个原始值将被转换为与之对应的包装对象;如果obj为对象,js解释器会依次枚举对象的属性来执行循环,注意:每次循环之前,js会首先计算prop的值,将obj当前遍历的属性名赋值给prop

var obj = {x: 1, y: 2, z: 3};
    var arr = [], i = 0;
    for (arr[i++] in obj);
    console.log(arr); // ["x", "y", "z"]

 

js之语句的一些需要注意的事情

标签:

原文地址:http://www.cnblogs.com/Walker-lyl/p/5831557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!