function A(name){
this.a = name;
this.display=function(){ alert(this.a);}
}A.PI = 3.14;
A.meth1 = function(){ alert('test');}A.prototype.pi = 24.5;
A.prototype.meth2 = function(){alert('prototype')}这三种类型的变量和方法有什么不同哟,
this.a = name;
this.display=function(){ alert(this.a);}
}A.PI = 3.14;
A.meth1 = function(){ alert('test');}A.prototype.pi = 24.5;
A.prototype.meth2 = function(){alert('prototype')}这三种类型的变量和方法有什么不同哟,
解决方案 »
- 火狐 IE js 问题
- 急 怎样得到mediaplayer的缓存条当前时间!!!
- 怎样把新建的元素</br>插入到<label>之前
- firefox以及ie的小区别
- 框架的点击事件,怎么没反应的??
- js如何编写图片切换效果,最重要的是下面的标签,谢谢
- 急求站内搜索解决方案~~有经验的一定要进。!!急
- 帮朋友发个QQ前端群信息:201135430
- 几个语句不懂,请指教
- 90分送上:在一个可编辑的iframe 里(designMode=on),鼠标移动是,能有办法改变鼠标的形状吗?好象如document.body.style.cursor="crosshair"这种方法是不行的?
- 我ajax一个文件(用jquery) 请问完成后自动保存在哪了??
- 这个小程序 错在哪呀?
// 因此不建议创建实例方法,可用原型方法替代,即第三种方式。
// 建议只在类定义中定义实例属性。
function A(name){
this.a = name;
this.display=function(){ alert(this.a);}
} // 定义静态属性和静态方法,与实例无关,仅此一份!
A.PI = 3.14;
A.meth1 = function(){ alert('test');} // 定义原型属性和原型方法,每个实例共享一个原型,
// 因此不建议创建原型属性,可用静态属性替代。
// 建议只在原型上扩展原型方法。
A.prototype.pi = 24.5;
A.prototype.meth2 = function(){alert('prototype')} 现在很流行 JSON 定义方式,不过俺还是偏好标准的 function 定义及 prototype 扩展方式!
理由很简单,JSON 的方式缩进层级较多,代码的易读性不好!
A.meth1 = function(){ alert('test');} "
相当于 static 变量或方法。属于A类。
“this.a = name;
this.display=function(){ alert(this.a);} ”和“A.prototype.pi = 24.5;
A.prototype.meth2 = function(){alert('prototype')} ”
两个基本相同。为成员变量或方法,属于A的实例。
当没有实例单独设置 pi 属性时,即只有对 pi 的读取时,
A.prototype.pi 与静态属性无异,
当有个别实例单独设置 pi 属性时,其实是为实例添加了动态属性 pi,而隐藏了原型属性 pi,
但原型属性 pi 不会被修改!
这里涉及原型链的查找,即从当前实例开始,逐层向上检索同名属性或方法!