js 高階知識

2021-06-28 15:34:17 字數 1186 閱讀 2407

1)開啟乙個視窗就會有乙個window物件(如頁面上的iframe),window中包含document,document主要是來操作dom元素的(頁面上的標籤元素)

2)我們在頁面上宣告乙個全域性變數其實是宣告在window物件上的,eg:

var abc = 'jy';

alert(window.abc);

alert(abc);

//由此可見全域性變數abc是註冊在window物件上的,即所有的變數都是註冊在window物件上的。頁面上的控制項

//或者元素是註冊在window內部的document物件上的,換句話說window是乙個頁面的最高端。

alert(document.body.innerhtml);

alert(window.document.body.innerhtml);

//由上面可以知道window是在最上層的,它的下面是document,window是指當前整個窗體,而document是指當前頁面中的元素。

3)js中的類其實都是方法,舉個例子來說明一下,eg:

var a = function () 

}

我們可以直接輸出類a的屬性name,使用語句var a=new a();alert(a.name);

下面是乙個複雜的例子,eg:

var a = function () 

}//可以用這種方式來宣告類,其實類也就是方法。js中就是這樣表現類的。

//這裡的b依賴於a

var b = function (aobject) ;

}var a = new a();

alert(a.name);

//下面的是把a注入到b。

var b = new b(a);

//上面相當於呼叫預設建構函式,直接呼叫了alert(aobject.name)

alert(b.attr.age);

b.heihei();

4)js中的alert指令會終止一切程序,只有等到alert執行過後(使用者點掉對話方塊後)才回去執行其他的。這個時候就會出現問題,如angular的表示式,其他語言的對話方塊也是一樣,所以我們要是新增了alert之後**就好用的話,那麼就有可能是程式的執行緒問題,即東西沒執行完,但是不知道在哪塊又進行了呼叫,或者是執行緒問題。

js 高階知識

1 caller 表示呼叫該函式的函式 function fun1 function fun2 fun2 11,22 11 2 function foo var foo new foo var p foo.prototype foo.prototype alert foo.constructor a...

js 高階知識

閉包 注意到返回的函式在其定義內部應用了區域性變數arr,當乙個函式返回乙個函式後,其內部的區域性變數還被新函式引用,閉包用起來簡單,實現起來不容易。箭頭函式 x x x 相當於function x 25比方說對乙個array求和,就可以用reduce實現 var arr 1,3,5,7,9 arr...

js高階知識小結 三

1 什麼是物件導向?是一種程式設計思想 將屬性和方法封裝在一起,然後通過.語法呼叫 2 物件導向好處 a 物件導向思維方式是一種更符合人們思考習慣的思想 b 面向過程思維方式中更多的體現的是執行者 自己做事情 物件導向中更多的體現是指揮者 指揮物件做事情 c 物件導向思維方式將複雜的問題簡單化。3 ...