JS高階程式設計讀書筆記 第3章

2021-08-07 14:47:17 字數 1767 閱讀 8082

一、資料型別

謹記兩大類6小類:

第一類基本資料型別(簡單資料型別):undefined、null、number、string、boolean;

第二類複雜資料型別(引用資料型別):object;(個人理解,它的值是乙個記憶體位址,例如:「

0x00000000

」, 但是又因為指向這個位址,所以可以引用這個位址的儲存的資料)

所有的型別都可以用typeof操作符來操作,需要注意的是typeof null = object, 

typeof還有乙個"function"值,所以並不是和數量型別一一對應的;

1、undefined型別

只用記住:宣告了但是未賦值的變數的變數值是undefined,未宣告的變數的值也是undefined,但是前者不會報錯,後者會報錯!

2、null型別

如果定義的變數在將來用於儲存物件,最好在初始化時用null來佔位;

alert(null == undefined) //true

alert(null === undefined) //false

3、boolean型別

記住其他型別的值用boolean()方法轉換為boolean型別後的值是true還是false就可以了 ,特別注意的是0和nan都是false;

4、number型別

記住4個方法,number()、parseint()、parsefloat()、isnan();以及ieee754數值浮點的通病,某些浮點數不能很精確,例如 0.1+0.2 != 0.3

需要特別注意的是:

number("123abc")    // nan

parseint("123abc")    // 123

5、string型別

(1)注意字元字面量: 

\xnn的含義是 以十六進製制**nn表示的乙個字串;

\unnnn的含義是以十六進製制**nnnn表示的乙個unicode字元

後續es6對這部分內容進行深入;

(2)null和undefined沒有tostring()方法,但是有string()方法;

6、object型別

該型別本章沒有深入講解,只是給出了其建立的例項儲存的一些方法和屬性,具體如下:

(1)construction

(2)hasownproperty(propertyname)

(3)isprototypeof(object)

(4)propertyisenumerable(propertyname)

(5)tolocalestring()

(6)tostring()

(7)valueof()

更多詳細資訊後續會結合第五章進行擴充套件

二、語句

語句很多,有很多常用的語句在此就不一一贅述,只是提醒一下label和with語句

1、label語句

加標籤的語句一般要和for迴圈語句配合使用,並且和break或者continue結合,並且在es5中要注意沒有塊級作用域這個情況

var num = 0;

outmost:

for(var i=0; i<10; i++)

num++;

}}alert(num);

注意break outmost和break的區別; 

2、with語句

with語句的作用是將**的作用域設定到乙個特定的物件object中來,例如

with(object){},括號裡面的所有語句都要在object的環境下執行

JS高階程式設計讀書筆記(第七章)

定義函式有兩種方式 一種是函式宣告,另一種就是函式表示式 1,函式宣告 function functionname arg0,arg1,arg2 函式宣告的乙個重要特徵是,函式宣告提公升,意思是在執行 之前會先讀取函式宣告。而函式表示式沒有這個特徵。eg sayhi function sayhi 2...

C Primer Plus 讀書筆記 第3章

第三章 處理資料 今天完成了該章的閱讀,本章對c 涉及的資料型別做了乙個詳盡的說明 並且對於 c 與 c的細微區別做了說明 總的來所就是 c 相容 c的習慣 但是作者告訴我們為什麼 c 要做出這些改變 細細想想 的卻是有道理 該章中牽涉到了部分c 11 特性,所以要確保編譯器支援這些特性 本人使用 ...

《構建之法》讀書筆記第3章

第三章講的是軟體工程師的發展。主要從軟體工程師的評價方法,團隊期望和技能的反面進行闡述,並對應的分為3個小節。在第一小節中講的是個人能力的衡量與發展。對於初級軟體工程師的成長,從以下5個方面開始 積累軟體開發相關的知識,提公升技術技能 積累問題領域的知識和經驗 例如 對醫療或金融行業的了解 對通用的...