zoukankan      html  css  js  c++  java
  • js之语句的一些需要注意的事情

    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"]
  • 相关阅读:
    离开页面时提示用户
    返回顶部
    【转】 MySQL主从(Master-Slave)复制
    判断是否到达指定时间,可以精确到秒
    【转】tomcat优化-有改protocol 和 缓存 集群方案
    【转】Spring+Websocket实现消息的推送
    【转】SpringMVC整合websocket实现消息推送及触发
    【转】java即时消息推送
    大型网站对图片的下载,存放,及压缩管理
    简单的linux压力测试工具webbench
  • 原文地址:https://www.cnblogs.com/Walker-lyl/p/5831557.html
Copyright © 2011-2022 走看看