title: javaScript_Design
date: 2015-10-07 21:14:59
tags:
原型模式
文字方式
- 原型模式(prototype)是指原型實例指向創建對象的種類,并且通過拷貝這些
原型創建新對象。
Object.create(prototype, OptionnalDes)
擬物化
袋鼠和袋鼠崽子
作用
1.原型對象本身就是有效利用了每個構造創建的對象
注意事項:
1.注意淺拷貝和深拷貝
代碼實戰
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<script type="text/javascript">
//原型
var myobj = {
str: "mysting",
num: 1,
myarr: [],
myobj: {
innerobj: {
test: 25
}
}
};
function clone(obj){
// var ret = {}, k;
// for(k in obj){
// ret[k] = obj[k];
// }
var ret, k, b;
if((b = (obj instanceof Array))|| obj instanceof Object){
console.log('init');
ret = b?[]: {};
for(k in obj){
if(obje[k] instanceof Array || obj[k] instanceof Object){ret[k] = clone(obj[k]);}else{
ret[k] = obj[k];
}
}
}
return ret;
}
//淺拷貝
var result = clone(myobj);
result.myobj.innerobj[test] = 12;
console.log(result);
</script>