//兩個左斜槓正則表達式
/*瀏覽器
- 註釋內容,此行首的星號可省略,通常爲提升註釋可讀性
*/
var sum = a + b //即便沒有分號,也是有效語句,可是不推薦
var diff = a - b; //有效的語句,推薦函數
if(test){
console.log(test);
}this
break
do
instanceof
typeof
case
else
new
var
catch
finally
return
void
continue
for
switch
while
debugger
function
this
with
default
if
throw
delete
in
try
debug
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
code
class
enum
extends
super
const
export
import
對象
implements
package
public
interface
private
static
let
protected
yield
ip
第五版中,雖然不能使用關鍵字和保留字做爲標識符,可是用作對象的屬性名。
但不推薦這樣作,以便於未來更好的與ECMAScript版本兼容。
作用域
ECMAScript的變量是鬆散類型
定義變量時要使用var
操做符,例如:var message;
這裏定義了一個名爲message的變量,該變量能夠用於保存任何值。
ECMAScript也支持直接初始化變量,所以在聲明變量的同時就能夠作賦值操做,例如:var message = 'Hi';
也能夠更改變量類型,以下:
var message = 'Hi'; //聲明message爲字符串變量
message = 100; //更改message變量類型爲數字,有效的操做,可是不推薦
須要注意的是,var
聲明的變量將成爲該變量所在做用域的局部變量,若是該變量是在一個函數內定義,那麼變量在函數執行完畢退出後就會被銷燬,例如:字符串
function test(){
var message = 'Hi'; //局部
}
test();
console.log(message); //錯誤的
上面的console輸出會報錯,但若是省略var,直接聲明message,那麼該變量則爲全局變量,可是不建議這樣作,由於過多的全局變量會形成難以控制而致使全局變量污染。
咱們也能夠用一條語句定義多個變量,以下:
var message = 'Hi',
found = false,
age = 32;
ECMAScript中有五種簡單數據類型,也稱做基本數據類型:
還有一種複雜數據類型:
Object本質上是由一組無序鍵值對組成。ECMAScript不支持任何形式的自定義類型,全部值最終都是上述六種類型之一。由於ECMAScript數據類型的動態性這個特色,也確實沒有定義其餘更多類型的必要了。
typeof是操做符,不是函數
返回值是如下某個字符串
有時候,typeof會返回一些比較迷惑人的但正確的值,好比typeof null
,會返回"object", 由於特殊值null被認爲是一個空對象引用,Safari5及以前版本、Chrome7及以前版本對正則表達式調用typeof操做符會返回"function", 而其餘瀏覽器會返回"object"。