如何使用新方法“plugin-style”扩展Object?

时间:2010-09-09 23:48:41

标签: javascript

尝试以插件式方式使用新方法“扩展”myStuff对象,但是当我调用新插件的方法($ .validate.newthing())时,我得到一个函数不存在错误。

如何使用下面的“验证”插件正确扩展myStuff?

<script type="text/javascript">
    var myStuff = function(){
        return {
          thingy: function() {
          // Stuff
          }
        }
    }();


    (function($){
      $.validate = function() {
        return {
          newthing: function(a) {
            return a + a;
          }
        }
      }
    })(myStuff);


    (function($) {

      console.log($.validate.newthing(2));

    })(myStuff);
</script>

1 个答案:

答案 0 :(得分:1)

在您的示例中,validate函数,在调用时,返回包含newthing函数的对象。你需要替换它:

console.log($.validate.newthing(2));

有了这个:

console.log($.validate().newthing(2));