• JavaScript基础——JavaScript语法基础(笔记)


    JavaScript语法基础(笔记)

    1、语言编码

      JavaScript语言建立在Unicode字符集基础之上,因此脚本中,用户可以使用双字节的字符命名常量、变量或函数等。

    【示例】

    var 我="张三"  //声明双字节的变量名称
    document.write("<h1>" + 我 + "</h1>");
    

    2、大小写敏感

      与HTML标签和CSS样式码不同,JavaScript对于大小写是非常敏感的。为了避免出错,用户应养成使用小写字符命名变量的习惯;对于保留字可根据系统的默认大小写来输入;而对于特定变量,可以使用大写字符,或者以大写字符开通,如类、构造函数等。

      对于符合型变量名称,可以遵循一般编程的驼峰式命名法,即混合使用大小写字母来构成变量的名称,名称的第1个单词全部小写,后面的单词首字母大写。

    【示例】

    getElementById,该函数名中第1个单词(get)小写,第2~4个单词首字母daxiao(Element、By、Id)
    

    3、代码格式化

      JavaScript一般会忽略分隔符,如空格符、制表符和换行符。在保证不引起歧义的情况下,用户可以利用分隔符对脚本进行排版。

    4、代码注释

      JavaScript支持两种注释形式:

    单行注释,以双斜杠表示,例如:

    //这是注释,请不要解析我
    

    多行注释,以"/*"和"*/"分隔符进行标识,例如:

    /*
    多行注释
    请不要解析我们
    */
    

    5、标签

      在JavaScript脚本可以加上标签,方便JavaScript程序进行快速定位。标签一般由一个合法的字符名称加上一个冒号组成,标签可以放在任意行的起始位置。这样就可以为该行设置一个标记,然后在结构体中使用break、continue等跳转语句跳出循环结构。

    loop:for (var j=1;i<6;j++){	//定义外循环,并添加标签名称
    	document.write("<br>" + j + ":");
    	for (var i=1;i<6;i++){	//定义内循环
    		if (i==3) continue loop;	//当临时递增变量i的值为3时,跳出外循环,重新开始
    			document.write(i);
    	}
    	
    }
    

    6、关键字和保留字

      JavaScript 保留关键字


    在 JavaScript 中,一些标识符是保留关键字,不能用作变量名或函数名。


      JavaScript 标准

    所有的现代浏览器完全支持 ECMAScript 3(ES3,JavaScript 的第三版,从 1999 年开始)。

    ECMAScript 4(ES4)未通过。

    ECMAScript 5(ES5,2009 年发布),是 JavaScript 最新的官方版本。

    随着时间的推移,我们开始看到,所有的现代浏览器已经完全支持 ES5。


      JavaScript 保留关键字

    Javascript 的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。

    abstract arguments boolean break byte
    case catch char class* const
    continue debugger default delete do
    double else enum* eval export*
    extends* false final finally float
    for function goto if implements
    import* in instanceof int interface
    let long native new null
    package private protected public return
    short static super* switch synchronized
    this throw throws transient true
    try typeof var void volatile
    while with yield    

    * 标记的关键字是 ECMAScript5 中新添加的。


      JavaScript 对象、属性和方法

    您也应该避免使用 JavaScript 内置的对象、属性和方法的名称作为 Javascript 的变量或函数名:

    Array Date eval function hasOwnProperty
    Infinity isFinite isNaN isPrototypeOf length
    Math NaN name Number Object
    prototype String toString undefined valueOf

      Java 保留关键字

    JavaScript 经常与 Java 一起使用。您应该避免使用一些 Java 对象和属性作为 JavaScript 标识符:

    getClass java JavaArray javaClass JavaObject JavaPackage

      Windows 保留关键字

    JavaScript 可以在 HTML 外部使用。它可在许多其他应用程序中作为编程语言使用。

    在 HTML 中,您必须(为了可移植性,您也应该这么做)避免使用 HTML 和 Windows 对象和属性的名称作为 Javascript 的变量及函数名:

    alert all anchor anchors area
    assign blur button checkbox clearInterval
    clearTimeout clientInformation close closed confirm
    constructor crypto decodeURI decodeURIComponent defaultStatus
    document element elements embed embeds
    encodeURI encodeURIComponent escape event fileUpload
    focus form forms frame innerHeight
    innerWidth layer layers link location
    mimeTypes navigate navigator frames frameRate
    hidden history image images offscreenBuffering
    open opener option outerHeight outerWidth
    packages pageXOffset pageYOffset parent parseFloat
    parseInt password pkcs11 plugin prompt
    propertyIsEnum radio reset screenX screenY
    scroll secure select self setInterval
    setTimeout status submit taint text
    textarea top unescape untaint window

      HTML 事件句柄

    除此之外,您还应该避免使用 HTML 事件句柄的名称作为 Javascript 的变量及函数名。

    实例:

    onblur onclick onerror onfocus
    onkeydown onkeypress onkeyup onmouseover
    onload onmouseup onmousedown onsubmit

    非标准 JavaScript

    除了保留关键字,在 JavaScript 实现中也有一些非标准的关键字。

    一个实例是 const 关键字,用于定义变量。 一些 JavaScript 引擎把 const 当作 var 的同义词。另一些引擎则把 const 当作只读变量的定义。

    Const 是 JavaScript 的扩展。JavaScript 引擎支持它用在 Firefox 和 Chrome 中。但是它并不是 JavaScript 标准 ES3 或 ES5 的组成部分。建议:不要使用它

  • 相关阅读:
    LeetCode-49. Group Anagrams
    LeetCode-242.Valid Anagram
    LeetCode-239.Sliding Window Maximum
    LeetCode-703. Kth Largest Element in a Stream
    LeetCode-225.Implement Stack using Queues
    LeetCode-232.Implement Queue using Stacks
    LeetCode-25. Reverse Nodes in k-Group
    LeetCode-142.Linked List Cycle II
    LeetCode-141. Linked List Cycle
    LeetCode-24.Swap Nodes in Pairs
  • 原文地址:https://www.cnblogs.com/zuoyang/p/9501423.html
Copyright © 2020-2023  润新知