zoukankan
html css js c++ java
使用 this 指针和 prototype 实现 js 的 OO 时的一个区别
利用 this 实现的公共方法中可以访问类的私有成员(用 var 声明的变量),私有方法(用 function 直接定义的方法);
利用原型扩展实现的方法中,无法调用私有成员和变量。
例子如下所示(把其中注释掉的两行恢复就可以看到区别):
function
T(name) {
this
.Name
=
name;
var
x
=
5
;
function
privateFunc() {
alert('
in
private method:
do
sometheing');
}
this
.PublicFunc
=
function
() {
//
可以调用私有方法,访问私有成员变量。
privateFunc();
alert('x
=
'
+
x);
alert('
in
public method:
do
something
else
.');
}
}
//
var t = new T('t1');
//
t.PublicFunc();
T.prototype.PublicFunc2
=
function
() {
alert('
in
public method
2
.');
//
下面两行都会出错。在利用 prototype 扩展的方法里无法调用对象的私有方法,也访问不到通过 var 定义的私有成员。
//
alert(x);
//
privateFunc();
}
var
t2
=
new
T('t2');
t2.PublicFunc();
t2.PublicFunc2();
查看全文
相关阅读:
20175202 《Java程序设计》第六周学习总结
2018-2019-2 20175202实验一《Java开发环境的熟悉》实验报告
20175202 《Java程序设计》迭代和JDB
20175202 《Java程序设计》第五周学习总结
20175202 《Java程序设计》第三周学习总结
20175202 《Java程序设计》第四周学习总结
第六周学习总结
java第一次实验
第五次学习总结
第四次学习总结
原文地址:https://www.cnblogs.com/RChen/p/111230.html
最新文章
20165301 2017-2018-2 《Java程序设计》第七周学习总结
20165301 2017-2018-2 《Java程序设计》第六周学习总结
20165301陈潭飞 实验一
20165301 2017-2018-2 《Java程序设计》第五周学习总结
20165301第四周课下作业(选做)
20165301 2017-2018-2 《Java程序设计》第四周学习总结
20165301 2017-2018-2 《Java程序设计》第三周学习总结
20165301 2017-2018-2 《Java程序设计》第二周学习总结
20165301课下作业
20165318 2017-2018-2 《Java程序设计》第一周学习总结
热门文章
20165306 实验二 Java面向对象程序设计
20165306 结对编程练习_四则运算(第一周)
20165306 第七周学习任务
20165306 第六周学习任务
20165306 实验一Java开发环境的熟悉
20165306 第五周学习任务
20165306 第四周学习任务
20165306 第四周课下作业
20165306 第二周查缺补漏
20165306 第三周学习任务
Copyright © 2011-2022 走看看