zoukankan      html  css  js  c++  java
  • javascript学习笔记

    编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序。
     

    1、字符集

    JavaScript程序是用Unicode字符集编写的。 1.1 区分大小写 JavaScript是区分大小写的语言。也就是说,关键字、变量、函数名和所有标识符(identifier)都必须采取一致的大小写形式。比如:“name”和“Name”是不同的变量。 1.2 空格、换行符和格式控制符 在JavaScript中,会忽略程序中标识之间的空格。而对于换行符,JavaScript在多数情况下也会忽略,但有一种情况例外:当在return、break、continue语句后添加换行符时,JavaScript会在换行处添加分号。 JavaScript可以识别一些特殊字符:

    空格符(u0020) 水平制表符(u0009) 换页符(u000C) 换行符(u000A) 回车符(u000D)

    回车符加换行符在一起被解析为一个单行结束符。 1.3 Unicode转义序列 JavaScript定义了一种特殊序列,用6个ASCII字符来代表任意16位Unicode内码。这些Unicode转义序列均以u为前缀,其后跟随4个十六进制数(使用数字以及大写或小写字母A~F表示)

    2、 注释

    JavaScript提供了两种格式的注释。 单行注释: 以//开头 多行注释:放在 /* 和 */之间(可跨行书写,但不能有嵌套注释)

    3、 直接量

    直接量:程序中直接使用的数据值。比如:

    12  //数字

    1.2  //小数

    "hello world"  //字符串

    true  //布尔值

    /javascript/gi  //正则表达式直接量

    null  //空

    4、 标识符和保留字

    标识符(identifier)是用来识别具体对象的一个名称。 JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。 标识符命名规则: 第一个字符不能为数字,可以是任意Unicode字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_) 第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以用数字。 中文是合法的标识符,可以用作变量名。 JavaScript有一些保留字,不能用作标识符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。 另外,还有三个词虽然不是保留字,但是因为具有特别含义,也不应该用作标识符:Infinity、NaN、undefined。

    5、 可选的分号

    JavaScript使用分号(;)将语句分隔开。 注意:JavaScript并不是在所有换行处都填补分号,只有在缺少了分号就无法正确解析代码的时候,才会填补分号。也可以说,如果当前语句和随后的非空格字符不能当做一个整体来解析时,JavaScript就在当前语句行结束处填补分号 。比如下面代码:

    var a

    a

    =

    3

    console.log(a)

    JavaScript将其解析为:

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

    JavaScript给第一行换行处添加了分号,因为没有分号,JavaScript就无法解析代码var a a。第二个a可以单独当做一条语句“a;”,但JavaScript并没有给第二行结尾填补分号,因为它可以和第三行内容一起解析成“a=3”。 
    上面的代码解析后是没有问题的,可是没有主动添加分号,有些时候会导致意想不到的情形。比如:

    var y=x+f

    (a+b).toString()

    解析后:

    var y=x+f(a+b).toString();

    如果当前语句和下一行语句无法合并解析,JavaScript则在第一行后填补分号,这是通用规则,但有两个例外。

    第一个例外是在涉及return、break和continue语句的场景总,如果这三个关键字后紧跟换行,JavaScript则会在换行处填补分号。

    例如:

    return

    true;

    JavaScript会解析成:

    return; true;

    第二个例外是在涉及“++”和“--”运算符的时候。

    x

    ++

    y

    将会解析成 “x;++y”,而不是“x++;y”

    适当的添加分号,可避免意想不到的错误。

    著作权归作者所有。
    商业转载请联系作者获得授权,非商业转载请注明出处。
    原文: http://ghmagical.com/article/page/id/5H9adupu2pDY © ghmagical.com

  • 相关阅读:
    [JSOI2007]文本生成器 --- AC自动机 + DP
    [POI2000]病毒 --- AC自动机
    [HNOI2011]数学作业 --- 矩阵优化
    [BZOJ4245][ONTAK2015]OR-XOR(贪心)
    [BZOJ4247]挂饰(DP)
    [BZOJ4032][HEOI2015]最短不公共子串(Trie+DP)
    [BZOJ4028][HEOI2015]公约数数列(分块)
    [BZOJ4027][HEOI2015]兔子与樱花(贪心)
    [BZOJ4004][JLOI2015]装备购买(贪心+线性基)
    [HDU5029]Relief grain(树链剖分+线段树)
  • 原文地址:https://www.cnblogs.com/new-Spring/p/7526678.html
Copyright © 2011-2022 走看看