javascript – 你可以创建一个对象“可调用”吗?

前端之家收集整理的这篇文章主要介绍了javascript – 你可以创建一个对象“可调用”吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以通过实现任一调用或应用来实现对象的调用,或者以其他方式?例如.:
  1. var obj = {};
  2. obj.call = function (context,arg1,arg2,...) {
  3. ...
  4. };
  5.  
  6. ...
  7.  
  8. obj (a,b);

解决方法

不,但您可以添加属性到一个函数,例如
  1. function foo(){}
  2. foo.myProperty = "whatever";

编辑:要使一个对象被调用,你仍然需要执行上述操作,但它可能看起来像:

  1. // Augments func with object's properties
  2. function makeCallable(object,func){
  3. for(var prop in object){
  4. if(object.hasOwnProperty(prop){
  5. func[prop] = object[prop];
  6. }
  7. }
  8. }

然后你只需使用“func”函数,而不是对象.真的所有这个方法都是两个对象之间的复制属性,但是它可能会帮助你.

猜你在找的JavaScript相关文章