亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(guān)于js類的定義

 更新時間:2011年06月28日 19:22:16   作者:  
這兩天幫同學(xué)做秒殺網(wǎng),打算將前臺和后臺徹底分離,僅用ajax通信。這樣就免不了大量的使用javascript,于是發(fā)現(xiàn),js果然是難學(xué)難用。
遇到的問題,首先是js對象的封裝,js沒有提供類的機制,唯一的內(nèi)置類是function類,也就是說所有的函數(shù)都是function類的實例化對象。不過依靠這個唯一的類我們可以模擬定義一個新的類。
首先想到的,是直接用function生成定義完整的類:
復(fù)制代碼 代碼如下:

function myClass(arg,...)
{
this.attributeName;
this.functionName = function(){};
}

不過這樣有一個問題,每當(dāng)我new一個新的myClass實例的時候,內(nèi)部的function都會重新開辟空間,返回引用給functionName。但這個和我們設(shè)想的類不一致,浪費空間,而且理論上類的function應(yīng)該是共享的。

更合理的做法,一是在類外定義函數(shù),然后類內(nèi)將函數(shù)指針賦值給functionName,另一種是在類外myClass.prototype.functionName = function(){}。這兩種都是不錯的選擇,其中第二個看起來更接近類的定義。
接下來var newObj = new myClass();大功告成。

關(guān)于js(二)無名函數(shù)
無名函數(shù),其中一個作用可能是生成新的函數(shù)對象的引用,主要是用于定義。
另一個用處就是針對js中一些無法含參的回調(diào)函數(shù)而言的。


明顯的例子就是setInterval,我想這是很多人頭疼的一個函數(shù),尤其是你想在回調(diào)函數(shù)中添加參數(shù)的時候。
而且最叫人頭疼的是,DHTML不是w3c規(guī)定的標準,于是不同的瀏覽器給出的setInterval參數(shù)表還不一樣。。。
就我測試的兩款瀏覽器來說(IE內(nèi)核,webkit內(nèi)核)
IE:setInvterval(function, msecond [,lang]);
chrome:setInterval(function, msecond [, pram1, pram2, ....]);
也就是說,chrome里面是允許對function添加參數(shù)的,參數(shù)表在最后邊。然而IE最后一個參數(shù)的作用是標明所用的腳本語言種類,因為IE除了js還支持vbs等其他的腳本語言。

為了解決兼容性,只好用到無名函數(shù)。。。
復(fù)制代碼 代碼如下:

function test(yourArg)
{
var arg = yourArg;
setInterval(function(){callback(arg)}, time);
}

相關(guān)文章

  • javascript類式繼承新的嘗試

    javascript類式繼承新的嘗試

    研究javascript是很有意思的事情,以前我說過,在javascript中的繼承,在于維持prototype指向同一object就行了,確實這樣
    2012-01-01
  • JavaScript 面向?qū)ο蟠a實踐

    JavaScript 面向?qū)ο蟠a實踐

    JavaScript面向?qū)ο蟠a的寫法與其它常見語言(Java C# C++)幾乎完全不同。
    2010-02-02
  • 面向?qū)ο蟮木幊趟枷朐趈avascript中的運用上部

    面向?qū)ο蟮木幊趟枷朐趈avascript中的運用上部

    對于正在從事或者打算從事編程的人來說,面向?qū)ο笫且粋€耳熟能詳?shù)脑~,幾乎每一個人都能列舉出一些面向?qū)ο蟮木幊陶Z言,例如C++,JAVA,C#等等。
    2009-11-11
  • javascript面向?qū)ο笾?命名空間

    javascript面向?qū)ο笾?命名空間

    javascript中本沒有命名空間的概念,但是要體現(xiàn)面向?qū)ο蟮乃枷?,?yīng)當(dāng)有命名空間,就像java中的package,.net中的namespace一樣,作用主要為了防止類名沖突,相同的類名只要屬于不同的命名空間,便不會沖突。
    2011-02-02
  • brook javascript框架介紹

    brook javascript框架介紹

    brook是一個針對大規(guī)模web開發(fā)的Javascript框架,而不是一個工具集。
    2011-10-10
  • javascript 對象定義方法 簡單易學(xué)

    javascript 對象定義方法 簡單易學(xué)

    工廠模式 初級開發(fā)者可能會這樣定義對象
    2009-03-03
  • 最新評論