1、前言
學習完js在頁面的引入使用逢净,下面是要了解下js的語法了哥放。學會了語法才好升級打怪歼指。so,Let's go.
2、區(qū)分大小寫
ECMAScript中的一切(變量甥雕、函數(shù)名踩身、操作符)都區(qū)分大小寫。這就意味著犀农,變量名test和變量名Test分別代表著兩個不同的變量惰赋。
3、標識符
含義:
所謂標識符呵哨,就是指變量、函數(shù)轨奄、屬性的名字孟害,或者函數(shù)的參數(shù)。格式規(guī)則如下:
- 第一個字符必須是一個字母挪拟、下劃線(_)或一個美元符號($);
- 其它字符可以是字母挨务、下劃線、美元符號或數(shù)字玉组;
- 標識符的字母可以為擴展的ASCII或者Unicode字母字符谎柄,但不推薦這樣做;
- 按照慣例惯雳,標識符采用駝峰命名法朝巫。也就是第一個字母小寫,剩下的每一個單詞的首字母大寫石景。例:myCar劈猿,myCarColor
注: 不能將關(guān)鍵字、保留字潮孽、true揪荣、false、和null用作標識符往史。
4仗颈、注釋
ECMAScript使用C風格的注釋,包括單行注釋和多行注釋椎例。
單行注釋:
// 單行注釋
多行注釋
/*
* 這是個多行
* (塊級)注釋
*/
5挨决、嚴格模式
ECMAScript5引入了嚴格模式這個概念。嚴格模式是為了js定義了一種不同的解析和執(zhí)行模型粟矿。在嚴格模式下凰棉,ECMAScript3中一些不確定的行為將會得到處理,而且對某些不安全的操作也會拋出錯誤陌粹。
在整個腳本中啟用嚴格模式:
在頂部添加如下代碼:
"use strist";
在指定函數(shù)中啟用嚴格模式:
function dosometing(){
"use strist";
// 函數(shù)體
}
6撒犀、語句
ECMAScript中的語句以一個分號結(jié)尾。語句結(jié)尾的分號不是必需的,但建議不要在任何時候省略它或舞。
7荆姆、關(guān)鍵字和保留字
js中的關(guān)鍵字可用于 表示控制語句的開始或結(jié)束,或者用于執(zhí)行特定操作等映凳。按照規(guī)則胆筒,關(guān)鍵字也是語言保留的,不能用作標識符诈豌。以下就是ECMAScription的全部關(guān)鍵字:
break仆救、else、new矫渔、var彤蔽、 case、 finally 庙洼、 return顿痪、 void 、 catch 油够、for 蚁袭、switch 、 while 石咬、 continue揩悄、 function 、this 碌补、 with 虏束、default 、 if 厦章、 throw 镇匀、 delete 、 in 袜啃、 try 汗侵、do 、 instranceof群发、 typeof
ECMAScript還描述了另外一組不能用作標識符的保留字晰韵。盡管保留字在這門語言中還沒有任何特定的用途,但它們有可能將來被用作關(guān)鍵字熟妓。下面是ECMAScript第3版定義的全部保留字:
abstract 雪猪、 enum 、int 起愈、 short 只恨、 boolean 译仗、export 、interface官觅、 static纵菌、 byte 、extends 休涤、 long 咱圆、 super 、 char 功氨、 final 序苏、native 、synchronized 捷凄、 class 杠览、float 、 package 纵势、throws 、 const 管钳、goto 钦铁、private 、transient 才漆、 debugger 牛曹、 implements 、protected 醇滥、 volatile 黎比、 double 、import 鸳玩、public
在代碼中使用關(guān)鍵字作為標識符在大多數(shù)瀏覽器中都會倒是“Identifier Expected”(缺少標識符)錯誤阅虫。而使用保留字可能不會導致同樣的錯誤,這要視具體的瀏覽器而定不跟。一般來說颓帝,最好不要使用關(guān)鍵字和保留字作為標識符,一遍與ECMAScript未來的版本保持兼容窝革。
ECMA-262第五版還對eval
和 arguments
做了限制购城,在嚴格模式下,這兩個名字不能作為標識符或?qū)傩悦耙耄裾邥伋鲥e誤瘪板。
8、變量
ECMAScript的變量是松散類型的漆诽,可以用來保存任何類型的數(shù)據(jù)侮攀。定義變量使用var
操作符锣枝,ES6定義變量使用let
操作符.。
var message;
這行代碼定義了一個 message的變量魏身,未初始化賦值惊橱。像這樣為經(jīng)過初始化的變量,會保存一個特殊的值--undefined箭昵。
局部變量和全局變量
使用var
定義的變量在其定義該變量的作用域內(nèi)為局部變量税朴。也就是說,如果在函數(shù)中使用var
定義一個變量家制,那么該變量在函數(shù)執(zhí)行完畢退出后就會被銷毀正林。例如:
function test(){
var message = 'hi'; // 局部變量
}
test();
alert(message) // 錯誤
省略var
操作符,聲明的變量為全局變量颤殴∶倮可以在函數(shù)外部的任何地方被訪問到。例:
function test(){
message = 'hi'; // 全局變量
}
test();
alert(message) // 'hi'
使用一條語句定義多個變量
var message = 'hi',fond = 'qq',age = 12;
用逗號分隔開即可涵但。
注: var
聲明的變量存在變量提升杈绸;函數(shù)提升問題。相關(guān)網(wǎng)址
9矮瘟、小尾巴
親身經(jīng)歷瞳脓,唯有熟練掌握基礎,才能快速高效的開發(fā)澈侠。js填坑之路劫侧,路漫漫其修遠兮,吾將上下而求索哨啃。