function ClassA(sColor) {
this.color = sColor;
this.sayColor = function () {
alert(this.color);
};
}function ClassB(sColor, sName) {
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod; // 关于 为什么要用句 ?
//还有它说:"最后一行代码删除了对 ClassA 的引用,这样以后就不能再调用它" 这句更不懂
// 谁能举例说明一下啊 this.name = sName;
this.sayName = function () {
alert(this.name);
};
}
var objA = new ClassA("blue");
var objB = new ClassB("red", "John");
objA.sayColor(); //输出 "blue"
objB.sayColor(); //输出 "red"
objB.sayName(); //输出 "John" delete this.newMethod; // 关于 为什么要用句 ?
//还有它说:"最后一行代码删除了对 ClassA 的引用,这样以后就不能再调用它" 这句更不懂
// 谁能举例说明一下啊
this.color = sColor;
this.sayColor = function () {
alert(this.color);
};
}function ClassB(sColor, sName) {
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod; // 关于 为什么要用句 ?
//还有它说:"最后一行代码删除了对 ClassA 的引用,这样以后就不能再调用它" 这句更不懂
// 谁能举例说明一下啊 this.name = sName;
this.sayName = function () {
alert(this.name);
};
}
var objA = new ClassA("blue");
var objB = new ClassB("red", "John");
objA.sayColor(); //输出 "blue"
objB.sayColor(); //输出 "red"
objB.sayName(); //输出 "John" delete this.newMethod; // 关于 为什么要用句 ?
//还有它说:"最后一行代码删除了对 ClassA 的引用,这样以后就不能再调用它" 这句更不懂
// 谁能举例说明一下啊
解决方案 »
- javascript 循环的速度
- 如何让dojo的tree组件不要记住上次的状态
- 关于contains的js用法
- response.write怎么调用f()函数
- 新手 求校验一个form中几百个文本框都不能为空的javascript写法
- 正则:[\w\-]匹配什么?
- 为什么这个script在firefox运行出现错误,急,搞不好难休假
- 请问 js里面怎么写代码,让它自动删除cookie,就和手动去ie属性里面点击“删除cookie”一样的功能?
- 一段在网上找的下拉框的程序,可以输入文字,但是有点问题!请各位高人帮忙?????
- 怎样限制input录入内容
- 问个问题,现在~
- 如何修改STYLE成放上鼠标,边框色改变,同时背景色也改变呢?
//还有它说:"最后一行代码删除了对 ClassA 的引用,这样以后就不能再调用它" 这句更不懂
// 谁能举例说明一下这句话的含意啊
其实是这样的
newMethod = ClassA;
就是说弄了一个ClassA的引用在里面
newMethod(sColor)
是执行了ClassA
这样就给ClassB获得了this.Color和this.SayColor来模拟继承(其实我感觉是组合和合成)
delete是删除newMethod。删除它就没有隐患了。举个不恰当的例子int a = 22;
this.age = 22;
delete a
那么在后面的代码中就不能访问a了,但是有了this.age的属性