JS基础笔记1

来自阮一峰教程。
1.语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。
2.表达式(expression),指一个为了得到返回值的计算式。
3.表达式不需要分号结尾。一旦在表达式后面添加分号,则JavaScript引擎就将表达式视为语句。
4.如果只是声明变量而没有赋值,则该变量的值是undefined。undefined是一个JavaScript关键字,表示“无定义”。
5.不写var的做法,不利于表达意图,而且容易不知不觉地创建全局变量,
6.可以在同一条var命令中声明多个变量。
7.变量x声明了两次,第二次声明是无效的。但是,如果第二次声明的同时还赋值了,则会覆盖掉前面的值。
8.请注意,变量提升只对var命令声明的变量有效,如果一个变量不是用var命令声明的,就不会发生变量提升。
9.标识符命名规则:第一个字符,可以是任意Unicode字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以用数字0-9。

  1. typeof null 返回 object。
    11.需要注意的是,-->只有在行首,才会被当成单行注释,否则就是一个运算符。
    12.JavaScript使用大括号,将多个相关的语句组合在一起,称为“区块”(block)。
    13.JavaScript的区块不构成单独的作用域(scope)。也就是说,区块中的变量与区块外的变量,属于同一个作用域。
    14.建议总是在if语句中使用大括号,因为这样方便插入语句。
    15.多个if...else连在一起使用的时候,可以转为使用更方便的switch结构。每个case代码块内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。
    16.switch语句内部采用的是“严格相等运算符”。
    17.for语句后面的括号里面,有三个表达式。初始化表达式(initialize):确定循环的初始值,只在循环开始时执行一次。测试表达式(test):检查循环条件,只要为真就进行后续操作。递增表达式(increment):完成后续操作,然后返回上一步,再一次检查循环条件。for (initialize; test; increment)。
    18.break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。break语句用于跳出代码块或循环。
    19.标签可以是任意的标识符,但是不能是保留字,语句部分可以是任意语句。标签通常与break语句和continue语句配合使用,跳出特定的循环。
    20.Number背后的转换规则比较复杂。调用对象自身的valueOf方法。如果返回原始类型的值,则直接对该值使用Number函数,不再进行后续步骤。如果valueOf方法返回的还是对象,则改为调用对象自身的toString方法。如果返回原始类型的值,则对该值使用Number函数,不再进行后续步骤。如果toString方法返回的是对象,就报错。
    21.String方法的参数如果是对象,返回一个类型字符串;如果是数组,返回该数组的字符串形式。

你可能感兴趣的:(JS基础笔记1)