《悟透JavaScript》学习札记十一之原型真谛一
来源:互联网 发布:剑网3女神脸数据 编辑:程序博客网 时间:2024/05/01 17:55
<script type="text/javascript">
function New(aClass, paramList) // 通用创建函数
{
function new_() // 定义临时的中转函数壳
{
// 调用原型中定义的构造函数,中转构造逻辑及参数
aClass.Create.apply(this, paramList);
};
new_.prototype = aClass; // 准备中转原型对象
return new new_(); // 返回最终建立的对象
};
var Person =
{
Create: function(name, age)
{
this.name = name;
this.age = age;
},
SayHello: function()
{
alert("Hello, I'm " + this.name);
},
HowOld: function()
{
alert(this.name + " is " + this.age + " years old.");
}
};
var Kevin = New(Person, ["Kevin", 25]);
Kevin.SayHello(); // Hello, I'm Kevin
Kevin.HowOld(); // Kevin is 25 years old.
alert(Kevin.constructor == Object); // true
</script>
注:每次创建完对象退出New函数作用域时,临时的new_函数对象会被自动释放。由于new_的prototype属性被设置为新的原型对象,其原来的原型对象和new_之间就已解开了引用链,临时函数及其原来的原型对象都会被正确回收。代码蓝色一句证明,新建对象的constructor属性返回的是Object函数。其实新建对象自己及其原型里没有constructor属性,那返回的只是最顶层原型对象的构造函数,即Object。
持续更新中......
- 《悟透JavaScript》学习札记十一之原型真谛一
- 《悟透JavaScript》学习札记十一之原型真谛二
- 悟透JavaScript之原型真谛 --- (1)
- 悟透JavaScript之原型真谛---(2)
- 悟透JavaScript之原型真谛 ---(3)
- 悟透JavaScript-原型真谛
- 悟透JavaScript - 原型真谛
- 《悟透JavaScript》学习札记九之初看原型
- 《悟透JavaScript》学习札记十之原型扩展
- [转]悟透JavaScript 三.原型真谛
- 《悟透JavaScript》学习札记一之回归简单
- 悟透JavaScript(李站老师)-原型真谛
- 《悟透JavaScript》学习札记之标准网页
- 《悟透JavaScript》学习札记二之没有类
- 《悟透JavaScript》学习札记三之函数的魔力
- 《悟透JavaScript》学习札记五之奇妙的对象
- 《悟透JavaScript》学习札记六之放下对象
- 《悟透JavaScript》学习札记七之对象素描
- Linux系统下挂载windows分区方法
- android画图性能分析
- 利用标准遗传算法求解函数
- 贪吃蛇游戏 C语言程序设计
- gcc和g++的区别
- 《悟透JavaScript》学习札记十一之原型真谛一
- 关于CTO 和 职业经理人
- poj 2971 Give Me the Number
- window.parent与window.opener的区别
- LINUX 多线程编程
- delphi2010安装
- 利用HttpSessionListener统计在线人数
- Windows CE系统开发,BSP包中的几个常见文件详解
- 简单html学习总结