《JavaScript語言精粹》摘錄一

2021-07-08 17:06:05 字數 1781 閱讀 8586

(1)識別符號

區分大小寫

第乙個字元必須是字母、下劃線或美元符號,其他字元可以是字母、下劃線、美元符號或數字

關鍵字和保留字不可用作識別符號

關鍵字:if  else  catch等

保留字:

abstract

boolean break byte

case catch char class const continue

debugger default delete do double

else enum export extends

false final finally float for function

goto

if implements import in instanceof int inte***ce

long

native new null

package private protected public 

return

short static super switch synchronized

this throw throws transient true try typeof

var volatile void

while with

物件的字面量中,如果屬性名非法,則需要用引號括起來,如"first-name"中,連線線時非法的,但是引號括起來,可以使用

(2) 資料型別

五種基本型別:undefined null boolean number  string

一種複雜型別:object

可以使用typeof來檢測

typeof產生的值有:number string boolean undefined function object;如果運算數是乙個陣列或null, typeof結果為object

nan :是乙個數值,表示乙個不能產生正常結果的運算結果。不等於任何值,包括它自己。可以使用isnan(number)來檢測

轉義字元用來將正常情況下不被允許的字元插入到字串中,比如反斜線、引號和控制字元。\u用來指定數字字元編碼 ,因此"a"==="\u0041"

下列值被認為假:false、null、undefined、空字串" "、數字0、數字nan

(3)語句表示式

for in 語句可用來遍歷乙個物件中的所有屬性名,可能包括原型鏈中的屬性

通常使用object.hasownproperty(variable)來確定該屬性名是該物件的成員,還是來自於原型鏈

for(myvar in obj){

if(obj.hasownproperty(myvar){

或使用typeof

if(typeof obj[myvar]!=="function"){

js中的%不是數學意義上的模運算,而實際是求餘運算,當運算值為負時,就不相同了

如果第乙個運算數的值為假,則&&產生第乙個運算數的值,否組產生第2個運算數的值

如果第乙個運算數的值為真,則||產生第乙個運算數的值,否則產生第2個運算數的值

如有乙個操作值為null、nan或undefined,則分別返回null、nan或undefined

(4)物件

||運算子可以用來填充預設值:

var middle=st["middle-name"]||"(none)";

可以使用&&運算子來避免從undefined的成員屬性中取值導致的typeerror

(5) 函式

每個函式物件建立時隨配乙個prototype屬性,它的值是乙個擁有constructor屬性且值為該函式的物件

JavaScript語言精粹 筆記

1 物件屬性檢索 var student 要檢索name,可以用student name 或者 student.name。2 物件屬性更新 student.name wang student.nickname yu 物件之前沒有nickname屬性,則自動擴充到改物件中。3 物件的引用 var x ...

JavaScript語言精粹 毒瘤 糟粕(應對)

毒瘤 不使用全域性變數 使用塊級作用域,不var return與返回值要位於同一行,否則當自動插入分號後會返回undefined 當物件的屬性名與js保留字相同時,無法使用點語法,使用括號表示法 js字元是16位的,unicode將一對字元視為乙個單一的字元,而js將其認為是兩個不同的字元 注意ty...

JavaScript 語言精粹讀書筆記 第三章

在物件字面量中,如果屬性名是合法的標示符那麼時候用引號擴起來是可選的,相應的在訪問屬性時可以使用兩種方式,中括號或者點。否則定義時引號是必須的,在訪問時也只能使用括號形式。每個物件都會被鏈結到原型物件,可以通過原型物件實現繼承,所有通過物件字面量建立的物件都會被連線到object.property,...