?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

新蒲京澳門賭場網站:Prototype使用學習手冊指南之base.js

?

一看名字就知道Class是基類了,先說下此類的感化,然后給大年夜家細細的闡發下base.js中的代碼

類的創建與承襲:

Class.create(): 創建一個類,例如 person=Class.create()

Object.extend(destination, source): 把source中措施屬性copy到destination(應用for propertyin source),必要留意的是,javascript中除了基礎類型(Number, Boolean)外都是引用類型,以是這種copy一樣平常只是copy引用而已,destination和source照樣指向同一個措施或工具屬性(function array object)

這面向工具的編程中,一樣平常經由過程Class.create新建一個類,假如這個類承襲于領一個類,一樣平常應用Object.extend(class.prototype, parentClass.prototype)或者Object.extend(class.prototype, aparentClassInstance)

Object構造函數的擴展:

Object是其他工具實例的構造函數(var a=new Object()),也是所有其他類的父類,對Object直接擴展(留意不是擴展Object.prototype,擴展Object.prototype相稱于添加實例措施)相稱于為Object類添加靜態措施

Object.inspect(object): 調用object的inspect(假如定義了)或toString措施,返回一個工具的字符串表示

Object.keys(object新蒲京澳門賭場網站): 返回一個工具的所有屬性和措施名稱組成的數組, 例如Object.keys(document.body)

Object.values(object):返回一個工具的所有屬性和措施的值組成的數組, 例如Object.values(docuement)

Object.clone(object): 返回一個工具的clone版本,著實是履行Object.extent措施把object中的措施屬性copy到一個新工具中,然后返回這個工具

函數綁定:

定義了Function工具的兩個措施,bind和bindAsEventListener,這兩個措施是一個函數的兩個措施,對付java、c#法度榜樣員來說,看到這個大概認為很驚疑,由于在他們看來函數只是一個法度榜樣語句組織布局而已—>怎么還有措施,而且還可以擴展?

這也是javascript等腳本說話相對付java等一個異常強大年夜的功能,函數也是一個工具,函數名便是這個工具的名稱,只要你樂意,你也可以應用new Function(…)來定義函數,所以為函數定義措施也就很正常不過了

這兩個函數的主要感化是為了辦理應用javascript面向工具風格編程中this的引用問題,在javasctipt中this關鍵字 始終指向調用該函數的工具或者指向應用call,apply措施指定的工具(詳細這方面的常識可以自己google一下,以下系列對prototype的先容也假設讀者對javascript說話對照認識了,假如不認識可以找本 javascript勢力巨子指南這新蒲京澳門賭場網站本書看看)

要理解這個問題首先要理解 始終指向這個問題,便是this這個關鍵字對照特殊,不能把他當成一樣平常的變量名看待,最常見的一個差錯便是在返回函數的調用中應用this,例如return function(){this.aMethod()}, 當你下次調用這個返回的匿名措施時,這個this引用的內容又新蒲京澳門賭場網站指向了調用這個函數的工具了,記著的一點的this是個關鍵字,不是變量名,不會孕育發生閉包

對N新蒲京澳門賭場網站umber的擴展(留意num也可以當作對象,著實是在應用的時刻系統自動打包成Number工具):

toC新蒲京澳門賭場網站olorPart:把數字轉換為可以用于表示color的16進制值:例如 7.toColorPart()=>”07″,28.toColorPart()=>”1C”

succ: 返回num++, 但不改變num本身的值,著實便是 return this+1

times:對從0到這個數字輪流調用一個函數, 例如function a(n){docuement.write(n)}, 10.times(a), 將顯示012345678910, 留意函數也是一個工具,而且與其他工具并沒有實質的差別

Try工具:

Try工具供給了一個很有趣的功能, 先看一下如下的代碼:

var Ajax = {

getTransport: function() {

return Try.these(

function() {return new XMLHttpRequest()},

function() {return new ActiveXObject(’Msxml2.XMLHTTP’)},

function() {return new ActiveXObject(’Microsoft.XMLHTTP’)}

) || false;

}

}

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

快三平台开户