仅向某个对象添加函数
Adding a function to only a certain object
我需要一个函数来只为给定的对象工作。我不确定这是否可能,但我尝试了一些类似的东西:
var a = {
b: function(a) {
return display(a)
}
}
a.prototype.display = function(a) {
return a;
}
alert(a.b('Hi'))//This is suppose to work
alert(display(a))//This isn't suppose to work
但这不起作用,不知道为什么。我对原型有点陌生。例如,我在String.prototype中使用了它,但我还需要学习其他所有东西。谢谢你的帮助。
您需要在对象中使用一个私有方法。在javascript中实现这一点的唯一方法是关闭函数,并在当前对象的上下文中执行它。
var a = (function () {
var display = function (a) {
return a;
};
return {
b : function(a) {
// display exist in closure scope of b;
//executing display in the context of current object
return display.apply(this, arguments);
}
};
})();
此处display
在外部无法访问。
alert(a.b("hi")); //will return hi
a.display("hi");
不可访问。
相关文章:
- 如何添加函数中存在的所有参数
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- 使用元素选择器向Object添加函数
- Javascript 向影子根中的自定义元素添加函数
- 如何在jQuery中添加函数作为自定义事件
- 仅向某个对象添加函数
- jQuery插件返回this.each并为每个对象添加函数属性
- 我可以用Javascript向数组添加函数吗
- HTMLJavascript-如何向输入语句添加函数并隐藏输入语句,除非选中“是”,然后取消隐藏
- jquery在html属性中添加函数回调,以便在其他事件中调用
- 如何向对象添加函数并引用其成员
- 动态添加函数参数
- PHP 添加函数
- 向原型添加函数
- Java 在不使用引号的情况下向 json 对象添加函数
- jQuery向动画队列添加函数
- 向对象原型添加函数的正确方法
- 在 Typescript 中添加函数之前,如何将变量声明为空对象
- 向对象原型添加函数会导致函数显示在所有“OBJ 中的 X”循环中
- 删除并重新添加函数 JavaScript