create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
定義了一個class函數作為創建類的模版或者說是原型
使用方法
復制代碼 代碼如下:
<html>
<title>Test Class.create()</title>
<head>
<script language="JavaScript" type="text/Javascript" src="prototype.js"></script>
<script>
var llinzzi= Class.create();
llinzzi.prototype = {
initialize:function(){
document.writeln('This is create when initialize');
},
fuv:function(){document.writeln('This is inline method');}
}
var linChild = new llinzzi();
</script>
</head>
<body>
<script>
//window.onload(linChild);
window.onload(linChild.fuv());
</script>;
</body>
</html>
////
This is create when initialize This is inline method ;
/////
就是當采用了prototype的Class.create();方法創建對象的時候,initialize作為特殊的方法,在創建實例的時候被執行,用以初始化.
繼承
Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
此方法將拷貝所有的source object的屬性和方法到destination object.
Prototype 對Object類進行的擴展主要通過一個靜態函數Object.extend (destination, source)實現了JavaScript 中的繼承。 從語義的角度, Object.extend (destination, source)方法有些不和邏輯, 因為它事實上僅僅實現了從源對象到目標對象的全息拷貝。不過你也可以這樣認為:由于目標對象擁有了所有源對象所擁有的特性, 所以看上去就像目標對象繼承了源對象(并加以擴展)一樣.
// make a (shallow) copy of obj1
var obj1 = {
method : "post",
args : ""
};
var obj2 = Object.extend({}, obj1);
使用 例子:
復制代碼 代碼如下:
<html>
<title>Test Object.extend</title>
<head>
<script language="JavaScript" type="text/Javascript" src="prototype.js"></script>
<script>
function log(message) {
document.writeln(" >>>>>: " +message);
}
var obj1= {
method : "post",
args : ""
};
var obj2 = Object.extend({}, obj1);
log(obj2.method);
log(obj1 == obj2);
log(obj1.method);
log(obj2 == obj1);
</script>
</head>
<body>
</body>
</html>
// merges in the given options object to the default options object
Object.extend(options, {
args : "data=454",
onComplete : function() { alert("done!"); }
});
options.method // "post"
options.args // "ata=454"
options.onComplete // function() { alert("done!"); }
使用例子:
復制代碼 代碼如下:
<html>
<title>Test Object.extend</title>
<head>
<script language="JavaScript" type="text/Javascript" src="prototype.js"></script>
<script>
function log(message) {
document.writeln(" >>>>>: " +message);
}
var options= {
method : "post",
args : ""
};
Object.extend(options, {
args : "data=454",
onComplete : function() { alert("done!");}
});
options.method // "post"
options.args // "ata=454"
options.onComplete // function() { alert("done!"); }
log(options.method);
log(options.args);
log(options.onComplete);
</script>
</head>
<body>
</body>
</html>
JavaScript技術:prototype 學習筆記整理,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。