1. 程式人生 > >js犀牛書,學習心得筆記(一)

js犀牛書,學習心得筆記(一)

最近每天都抽出時間看犀牛書,明顯可以感覺到和以前看的時候有差別,閱讀能力和心得有了很大的提升,以前不明白的一些知識點,還有一些隱藏在細節中的知識,現在都可以領悟到了。

1、包裝物件

暫時性的包裝物件

js資料型別分為原始資料型別和引用資料型別,原始型別包含number,string,boolean等;

我們都知道,直接使用字面量來宣告一個變數,並且給它賦值一個字串,那麼這個變數不具備物件的屬性和方法;

    var str='wangze';

    str.len=4;

    typrof(str)                   //string

    console.log(str.len)    //undefined

上面這個栗子說明,我們可以給原始型別值賦予屬性,此時js會將它作為一個包裝物件對待,但之後js會將物件刪除,所以輸出它的屬性值則為undefined。我們將這種物件稱為暫時性的包裝物件。

永久性的包裝物件

想要給字串新增屬性的辦法,就只能將它轉換為對像,下面例子說明:

    var str=new String('wangze');

    str.len=4;

    typeof(str)                  //object

    console.log(str.len)    //4

這便是永久性的包裝物件

2、js裡面的一些全域性常量

Math和JSON是js的全域性物件的屬性物件

Number(),String(),Boolean(),Date()等是js的全域性構造器(也被稱為全域性類)

undefined,infinity,和NaN是js的全域性屬性

parsInt(),eval(),和isNaN()是js的全域性函式

獲取全域性物件的方式:

var a=this;

3、運算子的巧妙使用

在一些程式碼中經常看到別人這樣寫

a+' ';

+a;

回去查了一下,第一個是將a轉化為字串,

第二個是將a轉化為數字;作用和

a.toString()

Number(a)

相同;

4、js物件的toString方法和valueOf方法很重要。今天回去看一下,明天寫心得