跪求各位高手,能看懂这个简短的Demo吗?
时间:2009-04-23
来源:互联网
<SCRIPT LANGUAGE="JavaScript">
//静态属性:静态属性又称公共属性,它不属于某个类的实例,而是直接属于某个类。
function user(name)
{
this.Name = name ; //实例属性
}
user.prototype.age = 0; //静态属性
user.prototype.birthday = function(){//静态方法
this.age++;
//这里是this ,而不是 user.prototype.age++;
}
var XiaoWang = new user("小王");//小王
var XiaoLiu = new user("小刘");//小刘
alert(XiaoWang.age); // 0 ;
alert(XiaoLiu.age); // 0 ;
XiaoWang.birthday();//小王过生日了。此时小王已经 拥有了一个 自己的 age 属性, 不需要再去原型中寻找。 ?????这个地方实在看不懂?能否解释下?
XiaoWang.age++; // 跟 birthday() 方法 同理。?????这个地方实在看不懂?能否解释下?为什么XiaoWang.age++,就有了自己的age属性了
user.prototype.birthday();
alert(XiaoWang.age); // 2 ;
alert(XiaoLiu.age); // 1 ;
/*
首先我们解释 XiaoWang.age 为什么是2?而不是3?
在前面的过程中,XiaoWang.birthday(); 在这一步后,
其实小王已经拥有了属性age,也就是说已经为小王创建了一个跟静态属性同名的 实例属性。
所以当 user.prototype.birthday()这之后, XiaoWang.age并不会 +1 ,不管原型如何变化,都跟他无关了。
而为什么XiaoLiu.age是 1 呢 ?
因为小刘没有自己的实例属性age,所以他会到原型中寻找 名称为age的静态属性。
静态属性通过user.prototype.birthday()进行了 +1 , 所以XiaoLiu.age是 1 .
*/
</SCRIPT>
//静态属性:静态属性又称公共属性,它不属于某个类的实例,而是直接属于某个类。
function user(name)
{
this.Name = name ; //实例属性
}
user.prototype.age = 0; //静态属性
user.prototype.birthday = function(){//静态方法
this.age++;
//这里是this ,而不是 user.prototype.age++;
}
var XiaoWang = new user("小王");//小王
var XiaoLiu = new user("小刘");//小刘
alert(XiaoWang.age); // 0 ;
alert(XiaoLiu.age); // 0 ;
XiaoWang.birthday();//小王过生日了。此时小王已经 拥有了一个 自己的 age 属性, 不需要再去原型中寻找。 ?????这个地方实在看不懂?能否解释下?
XiaoWang.age++; // 跟 birthday() 方法 同理。?????这个地方实在看不懂?能否解释下?为什么XiaoWang.age++,就有了自己的age属性了
user.prototype.birthday();
alert(XiaoWang.age); // 2 ;
alert(XiaoLiu.age); // 1 ;
/*
首先我们解释 XiaoWang.age 为什么是2?而不是3?
在前面的过程中,XiaoWang.birthday(); 在这一步后,
其实小王已经拥有了属性age,也就是说已经为小王创建了一个跟静态属性同名的 实例属性。
所以当 user.prototype.birthday()这之后, XiaoWang.age并不会 +1 ,不管原型如何变化,都跟他无关了。
而为什么XiaoLiu.age是 1 呢 ?
因为小刘没有自己的实例属性age,所以他会到原型中寻找 名称为age的静态属性。
静态属性通过user.prototype.birthday()进行了 +1 , 所以XiaoLiu.age是 1 .
*/
</SCRIPT>
作者: seekarmor 发布时间: 2009-04-23
因为 js 的变量特性,,不用先声明 就直接使用 。 用了之后 相应的变量或属性 就算是声明了 有了实例了
作者: boss_ch 发布时间: 2009-05-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28