JavaScript基本词法

JavaScript基本词法

 JavaScript语法就是指构成合法的JavaScript程序的所有规则和特征的集合,包括词法和句法。

  • 词法: 定义了JavaScript的基本名词规范,包括字符编码、命名规则、标识符、关键字、注释规则、运算符和分隔符等。
  • 句法: 定义了JavaScript基本运算逻辑和程序结构,包括短语、句子和代码段的基本规则,如表达式、语句和程序结构等。

一、字符编码

  • JavaScript遵循Unicode字符编码规则,Unicode字符集中每个字符使用2个字节来表示,这就意味着用户可以使用中文来命名JavaScript变量。

提示: Unicode是Latin-1字符集的超集,编码数目达到百万级;Latin-1是ASCII字符集的扩展,包含256个拉丁字母;ASCII字符集包含128个基本字符,即常用的英文字母和符号。

<script>
    var 名字 = "javaScript基本词法";
    var 参数 = "第一个";
function 方法(参数){
    document.write("<h1>"+参数+"</h1><p>Hello world"+名字+"</p>");
}
方法(参数)
</script>
  • 在JavaScript最初1、2版本中,仅支持ASCII字符编码,Unicode字符只能出现在注释或者引号包含的字符中,考虑到JavaScript版本的兼容性以及开发习惯,不建议使用双字节的中文字符命名变量或函数名。

  • 由于JavaScript脚本一般都嵌在网页中,并最终有浏览器来解释,因此在考虑到JavaScript字符编码的同时,还要兼顾HTML文档的字符编码,以及浏览器支持的编码,一般建议保持HTML文档的字符编码和JavaScript字符编码一致,以免出现乱码现象。

二、区分大小写

  • JavaScript严格区分大小写。为了避免输入混乱和语法错误,建议采用小写字符编写代码,在一下特殊情况可以使用大写形式:

(1): 构造函数的首字母建议大写。构造函数不同于普通函数,首字母大写,以便与普通函数区分。

示例: 调用预定义的构造函数Date(),创建一个时间对象,然后把时间对象转换为字符串显示出来。

  d = new Date();
  document.write(d.toString());

(2): 如果表示符由多个单词组成,可以考虑使用驼峰命名法–除首字母外,后面单词的首字母均大写。

示例:

    typeOf();
    printFirstDemo();
  • 大小写使用虽然没有强制,单在工作中还是要遵守基本的行业通用规范。

三、标识符

  • 标识符就是名称的专业术语。JavaScript表示符包括变量名、函数名、参数名和属性名。合法的标识符应该注意以下强制规则:

Ⅰ: 首字母必须以字母、下划线(_)或美元符号($)开头。

Ⅱ: 除了第一个字母外,其他位置可以使用Unicode字符。一般建议仅适用ASCII编码的字母,不建议使用双字节的字符。

Ⅲ: 不能与JavaScript的关键字、保留字重名。

Ⅳ: 可以使用Unicode转义序列。如:a可以使用“\u0061”表示

  • 标识符虽然可以使用转义序列表示,但使用转义序列不是很方便,一般常用转义序列表示特殊字符或名称,如JavaScript关键字、程序脚本等。

四、直接量

  • 直接量就是具体的值,即能够直接参与运算或显示的值,如字符串、数值、布尔值、正则表达式、对象直接量、数组直接量、函数直接量等。
    ""              // 空字符串直接量
    1               // 数值直接量
    true            // 布尔值直接量
    /a/g            // 正则表达式直接量
    null            // 特殊值直接量
    {}              // 空对象直接量
    {}              // 空数组直接量
    function(){}    // 空函数直接量,即函数表达式

五、关键字和保留字

  • 关键字就是ECMA-262规定的JavaScript语言内部使用的一组名称(或成为命令)。如下:
breakdeletethiswhileif
casedointhrowwith
catchelseinstanceoftry
continuefinallynewtypeof
debuggerforreturnvar
defaultfunctionswithvoid
  • 保留字就是ECMA-262规定的JavaScript语言内部预备使用的一组名称(或称为命令)。如下:
abstractdoublegotonativestatic
booleanenumimplementspackagesuper
byteexportimportprivatesynchronized
charextendsintprotectedthrows
classfinalinterfacepublictransient
constfloatlongshortvolatile
  • JavaScript预定义了很多全局变量和函数,用户也应该避免使用,如下:
argumentsencodeURLInfinityNumberRegExp
ArrayencodeURLComponentisFiniteObjectString
BooleanErrorisNaNparseFloatSyntaxError
DateevalJSONparseIntTypeError
decodeURLEvalErrorMathRangeErrorundefined
decodeURLComponentFunctionNaNReferenceErrorURLError

六、分隔符

  • 分隔符就是各种不可见的字符的集合,如空格()、水平制表符、垂直制表符、换页符、不中断空白、字节序标记、换行符、回车符、行分隔符、段分隔符等。

  • 分隔符使用时需要注意一下几点:

①: 分割符虽然无实际意义,但是在脚本中却不能缺少,如果在标识符与关键字之间不使用分隔符分分隔,JavaScript就会抛出异常。

②: JavaScript解析器一般采用最长行匹配原则,不恰当的换行显示一句代码,容易引发异常或错误。

③: 不能在标识符、关键字内部使用分隔符。

④: 在字符串或者正则表达式内,分隔符是有意义的,不能够随意省略或替换。

七、注释

  • 注释就是不被解析的一串字符。JavaScript注释有以下两种方法:
  • 单行注释: // 单行注释信息

说明:使用单行注释时,在"//"后面同一行内的任何字符或代码都会被忽视,不在解析。

  • 多行注释: /* 多行注释信息 */

说明:在多行注释中,包含在"/“和”/"符号之间的任何字符都是为注释文本而忽略掉。

八、转义序列

  • 转义序列就是字符的一种表示方法(映射)。由于各种原因,很多字符无法直接在代码中输入或输出,只能通过转义序列间接表示。

  • Unicode转义序列方法:\u + 4位十六进制数字。

  • Latin-1转义序列方法:\x + 2位十六进制数字。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值