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>