久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

js 面向?qū)ο罄斫?/span>

 woshishenxiande 2011-05-13

js的面向?qū)ο?一)

這個話題已經(jīng)很久沒有人談了.高手懶得談,新手不敢談.最近計劃想寫一套網(wǎng)頁游戲的UI引擎,特地開貼寫篇文章,,與大家分享下js的面向?qū)ο筇匦约捌鋵崿F(xiàn),與大家共勉之.

主要是面向新手,因為多年前我也是新手,非??释懈呤忠徽刯s的面向?qū)ο?

以下總結(jié),是代表著自己的一種理解,我希望去培養(yǎng)程序員的一些直覺.而不是書本化的,很深入,很晦澀的知識.首先要理解以下這些概念:

1, js中函數(shù)可以當(dāng)做一種數(shù)據(jù)類型來看,而事實上他是一種Function對象的實例.

2, 函數(shù)與對象的對等性,在JS中對象一般采用函數(shù)來定義。

3, js中的變量的作用域是詞法性的.

下面先對這些進行一下說明:

1, js中函數(shù)可以當(dāng)做一種數(shù)據(jù)類型

在js中變量都是可變類型的,但是并不是沒有類型,看如下代碼:

var a=1;

var b="1";

alert(typeof a);   //number

alert(typeof b);   //string

alert(a+1);        //2

alert(b+1);        //11

通過以上代碼不難看出,即使你還可以寫 a="2";以改變a的類型,但是仍然應(yīng)該在任何時候清楚的明白變量的類型.

這種變量類型的易變性和對象的易變性 即是js的弊端,也是它如此強大的原因.他把自由留給了你,如果可以我們可以制定自己的編寫規(guī)范來約束自己而不是靠語言的實現(xiàn)本身.

下面說說函數(shù)的相關(guān)特性:

function Person(){

alert("a");

}

var Person=function(){

alert("b");

}

以上兩種寫法等價,都是定義了名為 Person的函數(shù),函數(shù)功能也相同,即彈出一個字符. 我們可以如下這樣調(diào)用:

Person();

//事實上js引擎會認(rèn)為你給window增加了一個成員,以上等價于:

window.Person=function(){

...

}

//你也可以如下調(diào)用:

window.Person();

alert(typeof Person)  //function

alert(typeof window.Person)  //function    function即為Person的數(shù)據(jù)類型

這也意味著,當(dāng)我們用window.open()打開一個窗口,或者在iframe等框架中要使這個方法,需要先獲得定義這個方法的window對象.如:

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多