《JavaScript高階程式設計》讀書筆記

2021-06-29 04:42:54 字數 638 閱讀 9795

1、函式名帶括號和不帶括號的區別

函式名本身就是變數,要訪問函式的指標而不執行函式的話,必須去掉函式名後面的圓括號。

2、protptype屬性

prototype是儲存引用型別所有例項方法的真正所在。諸如tostring()和valueof()等方法都是儲存在prototype下,只不過是通過各自物件的例項訪問。

3、arguments.callee

arguments.callee是乙個指向正在執行的函式的指標,用來實現遞迴呼叫。如果函式被銷毀,遞迴依然可行。

4、模仿塊級作用域

(function(){

// 塊級作用域

將函式宣告包含在一對圓括號中,表示它是乙個函式表示式。其後的另一對圓括號會立即呼叫這個函式。

這種技術經常在全域性作用域中被用在函式外部,限制向全域性作用域新增過多的變數和函式。通過建立私有作用域,既可以使用自己的變數,也不用擔心搞亂全域性作用域。

5、location物件

使用location物件可以通過很多方式改變瀏覽器位置——location.assign(url);

window.location = url;

location.href = url;

以上兩種方法就是呼叫了assign()方法,效果完全一樣。

讀javascript高階程式設計10 DOM

元素的childnodes屬性來表示其所有子節點,它是乙個nodelist物件,會隨著dom結構的變化動態變化。var headlines document.getelementbyid headline block var childs headlines.childnodes childs.le...

JavaScript高階程式設計

ecmascript有5種基本型別資料 另外還有一種複雜的資料型別 typeof就是用來檢測變數的資料型別的,typeof可能會返回以下值 typeof操作符在檢測引用型別的值時,總是會返回object,所以用處不大。instanceof用來檢測物件型別的,返回值是 true false。例如 pe...

JavaScript高階程式設計 this

在函式中this到底取何值,是在函式真正被呼叫執行的時候確定的,函式定義的時候確定不了 因為this的取值是執行上下文環境的一部分,每次呼叫函式,都會產生乙個新的執行上下文環境。所謂建構函式就是用來new物件的函式。其實嚴格來說,所有的函式都可以new乙個物件,但是有些函式的定義是為了new乙個物件...