JavaScript语法结构

本文介绍了JavaScript的基础语法,包括字符集、大小写敏感性、空格处理、Unicode转义序列、注释、直接量、标识符、保留字以及语句分隔等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.1
    字符集:JavaScript是用Unicode字符集编写的。


2.1.1:
    JavaScript是区分大小写的语言。也就是说,关键字、变量、函数名和所有的标识付都必须采用一致的大小写形式。比如关键字”while”必须写成”while”而不能写成”While”或”WHILE”。


2.1.2: 空格、换行符和格式控制符
    JavaScript会忽略程序中标识之间的空格。多数情况下,JavaScript同样会忽略换行符。由于可以在代码中随意使用空格和换行,一次可以采用整齐,一直的缩进来形成统一的编码风格,从而提高代码的可读性。


2.1.3: Unicode转义序列
    有些计算机硬件和软件里,无法显示或输入Unicode字符全集。为了支持使用老旧技术的程序员,JavaScript定义了一种特殊的序列,使用6个ASCII字符来代表任意的16位Unicode内码。这些Unicode转义序列均已\u为前缀,其后跟随4个十六进制数(使用数字以及大小或小写字符A~F表示)。这种Unicode转义写法可以用在JavaScript字符串直接量、正则表达式和标识符中(关键字除外)。例如字符é的Unicode转义写入为\u00E9,如下两个JavaScript字符串是完全一样的:
“café” === “caf\u00e9”    // => true


2.2 注释
    JavaScript支持两种注释:
     // 单行注释
    /**/ 多行注释
    多行注释可以跨行编写,单不能有嵌套的注释。


2.3 直接量
    所谓直接量,就是程序中直接使用的数据值。下面列出的都是直接量:
    12                      // 数字
    1.2                     // 小数
    “hello word”            // 字符串文本
    true                    // 布尔值
    false                   // 另一个布尔值
    /javascript/gi          // 正则表达式直接量(用作模式匹配)
    null                    // 空


2.4 标识符和保留字
    标识符就是一个名字,在JavaScript中,标识符用来对变量和函数进行命名,或者用作JavaScript代码中某些循环语句中的跳转位置的标记。JavaScript 标识符必须以字母、下划线(_)或美元福($)开始,后续的字符可以是字符、数字、下划线或美元符(数字是不允许作为首字母出现的,以便JavaScript可以轻易区分开标识符和数字)。
    下面是合法的标识符:
    i
    my_demo
    b12
    _dumo
    $str




    JavaScript允许标识符中出现Unicode字符全集中的字母和数字例如:
    var sā = true




    JavaScript中的保留字不能作为标识符和函数名
    
2.5 可选的分号:
    JavaScript使用分号(;)将语句分割开。,如果语句独自各站一行,通常可以省略语句之间的分号。
    如下代码,因为两条语句用两行书写,第一个语句的分号是可以省略掉的
        b = 3
        b = 4
    如果按照如下格式书写,第一个分号则不能省略掉:
        a = 3; v = 4;
    需要注意的是,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 x = 0           // 这里省略了分号
    ;[x,x+1,x+2].forEach(console.log)        // 前面的分号保证了语句的正确解析


    如果语句前面没加分号,并且当前语句和下一行语句也无法合并解析,JavaScript则在第一行后填补分号,这是通用规则,但是有两个例外,第一个例外是涉及return、breack、continue语句
    如:
        return
        true;
        JavaScript会解析为:
        return ; true;
        而你的本意是:
        return true;


    也就是说,在return、breack、continue和随后的表达式之间不能有换行符。


    第二个例外:
    如果在涉及到“++” 和 “--”的时候。这些运算符可以作为表达式的前缀,也可以作为表达式的后缀。如果将其用作后缀表达式,他和表达式应该在同一行。否则,行尾将填补分号,同事“++” 或 “--” 将会作为下一行代码的前缀操作符并与之一起解析,例如:
        x
        ++
        y
    JavaScript或解析为:"x;++y",而不是"x++;y;"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值