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();
查看全文
相关阅读:
理解maven命令package、install、deploy的联系与区别
Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
Spring boot 外部资源配置
配置spring boot 内置tomcat的accessLog日志
spring使用@Value标签读取.properties文件的中文乱码问题的解决
使用Lombok简化你的代码
统计mysql数据库中数据表/字段等数量的sql
Kettle
Python内置函数(39)——locals
Python内置函数(38)——list
原文地址:https://www.cnblogs.com/RChen/p/111230.html
最新文章
【面试题总结】1、统计字符串中某个字符出现的次数(2-Python实现)
【面试题总结】2、反转字符串的几种形式
【面试题总结】1、统计字符串中某个单词出现的次数(1-C++实现)
【C/C++】Linux的gcc和g++的区别
【git 命令总结】一
【分类模型评判指标 二】ROC曲线与AUC面积
【分类模型评判指标 一】混淆矩阵(Confusion Matrix)
【Redis 向Redis中批量导入mysql中的数据(亲自测试)】
spark学习6(Centos下Scala2.11.4安装)
HBase学习3(win下使用Eclipse搭建hbase开发环境)
热门文章
linux学习(rz和sz命令的安装和使用)
hive学习8(小案例1练习)
HBase学习2(HBase shell)
HBase学习1(hbase基础)
spark学习5(hbase集群搭建)
spark学习4(zookeeper3.4集群搭建)
hive学习7(条件函数case)
hive学习6
Maven的继承和聚合
Maven打包命令
Copyright © 2011-2022 走看看