• javascript复习。


    1.变量提升

    JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。

    console.log(a);
    var a = 1;
    

    输出 undefined 。 等同于

    var a ;
    console.log(a);
    a = 1;
    

    这就是所谓的变量提升。下面的情况不会出现变量提升, 输出 b is not defind; 

    console.log(b);
    b = 1;
    

      

    2.else代码块总是跟随离自己最近的那个if语句

    var m = 1;
    var n = 2;
    
    if (m !== 1)
    if (n === 2) console.log('hello');
    else console.log('world');
    

    上面代码不会有任何输出,else代码块不会得到执行,因为它跟着的是最近的那个if语句,相当于下面这样。

    if (m !== 1) {
      if (n === 2) {
        console.log('hello');	
      } else {
        console.log('world');
      }
    }
    

    如果想让else代码块跟随最上面的那个if语句,就要改变大括号的位置。

    if (m !== 1) {
      if (n === 2) {
        console.log('hello');	
      }
    } else {
      console.log('world');
    }
    // world
    

    3.switch语句后面的表达式与case语句后面的表示式,在比较运行结果时,采用的是严格相等运算符(===),而不是相等运算符(==),这意味着比较时不会发生类型转换

    4.do...while循环与while循环类似,唯一的区别就是先运行一次循环体,然后判断循环条件。不管条件是否为真,do..while循环至少运行一次,这是这种结构最大的特点。另外,while语句后面的分号不能省略。

    5.需要特别注意的是,空数组([])和空对象({})对应的布尔值,都是true

    6.

  • 相关阅读:
    2-SAT( tarjan应用 )
    字节流和字符流
    linux 安装kafka
    网络编程入门
    Java代码中的魔法值
    动态SQL
    update语句的返回值是什么
    dual表
    diy diy diy台式机走起
    js数组赋值,改变其中一个,另一个数组也会改变(vue中数据绑定)
  • 原文地址:https://www.cnblogs.com/xizhilang/p/6550127.html
Copyright © 2020-2023  润新知