【问题标题】:How javascript prototype and jquery extend are differentjavascript原型和jquery扩展有何不同
【发布时间】:2014-01-11 09:55:14
【问题描述】:

我对@9​​87654321@ 和jquery extend 感到困惑。我参考了他们各自的教程页面,但最终感到困惑。请看下面的示例,它与我的项目中的 100 行代码几乎相似。

$(document).ready(function () {
    $("#btnClik").click(
        function () {
             this.to = new TestObj('hello');
            this.to.alertFun();
            this.to.alertFun2('from alertFun2');
        }            
    );
});

var TestObj = (function () {
    function TestObj(msg) {
    this.msg = msg;
}

$.extend(TestObj.prototype, {
    alertFun: function () {
        alert(this.msg);
    },

    alertFun2: function(mesge){
        alert(mesge);
    }
});
return TestObj;
})();  

这里是filddle
如果 javascript 原型扩展属性,那么使用 jquery 扩展需要什么?如果您能就我上面的示例进行解释,将会很有帮助。
编辑
这条线是做什么的$.extend(TestObj.prototype, {some functions} - please refer above code'

【问题讨论】:

  • “javascript 原型和 jquery 扩展有何不同” --- 它们完全不同。是什么让您认为它们甚至具有可比性?
  • 目前还不清楚你在问什么。 $.extend() 是一个辅助函数,用于将对象属性从一个复制到另一个。当然你可以对原型做同样的事情,但是写$.extend( a, b );比几行代码遍历第二个对象的属性并将它们插入到a中要容易得多。
  • @zerkms。如果是这样的话,你能解释一下这条线是做什么的'$.extend(TestObj.prototype, {'。谢谢
  • 你问的那行扩展了TestObj的原型,正如你所知道的那样。
  • @Metri:你试过阅读相应的文档页面吗?

标签: javascript jquery prototype extends


【解决方案1】:

$.extend 只是将所有键/值对从一个对象添加到另一个对象。它有很多用途。

因此,它在添加到MyObject.prototype 时的用途只是一次性将多个属性添加到.prototype 的一种速记方法。

【讨论】:

  • 感谢 Alnitak 的解释。
猜你喜欢
  • 2013-12-02
  • 2021-01-27
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多