如何重新定义“;javascript类”;
How to re-define a method in a "javascript class"
请运行以下代码片段1并查看JS控制台中发生了什么:
我的问题是关于摘录中的最后一行:
- 为什么更改
F.prototype.method;
- 我应该如何重新定义
Fcustom.prototype.method
才能不更改F.prototype.method
注意:我使用jQuery和下划线来扩展函数。
-
1测试代码片段:
var F = function () {}; F.prototype.method = function () { // some code } F.prototype.method; // it shows "some code" Fcustom = $.extend(true, F, {}); _.extend(Fcustom.prototype, { method: function () { // other code } }); Fcustom.prototype.method; // it shows "other code" F.prototype.method; // it shows "other code" instead of "some code" Why?
var obj = { myMethod : function() {
//some code
}
};
var newObj = $.extend(true, {}, obj);
newObj.myMethod = function (){
//new method
};
newObj.myMethod(); //should call the new method
而
obj.myMethod(); //still calls the old "//some code"
演示:
相关文章:
- javascript无法重新定义函数内部的全局对象
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- 在 javascript 中重新加载页面一定时间
- JavaScript 不断重新加载我的页面
- 在 JavaScript 中重新定义事件
- Javascript Ajax重新初始化
- 在 javaScript 中重新启动 setInterval
- 如何在javascript中重新定义私有方法
- 使用location时Javascript未重新加载页面.请使用相同的URL再次加载
- JavaScript会重新加载整个页面
- 在Javascript中重新建立对象数组的索引(无拼接)
- 我用什么javascript解析器在node的javascript中重新实现jsCoverage
- 在 Javascript 中重新启动 SetInterval
- JavaScript 如何重新识别事件对象变量
- 在 Javascript 中重新定义字符串
- 在 Javascript 中重新定义 Object.defineProperty
- Jquery UI Tabs 在 javascript 中重新加载一个选项卡
- 在 Javascript 中重新组织对象数组:“未捕获的类型错误:无法读取未定义的属性'push'”
- JavaScript 只重新加载一次
- 使用javascript界面重新加载Android webview