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 的组成部分。建议:不要使用它。