gpt4 book ai didi

javascript - Object.defaults 与 Object.prototype.defaults

转载 作者:行者123 更新时间:2023-11-29 22:05:03 28 4
gpt4 key购买 nike

我很困惑什么时候使用 .prototype 来扩展一个对象,什么时候不使用它。像下面的部分代码,为什么不在FacebookApi.defaults中使用.prototype,难道.prototype只是函数吗?

+function ($) { "use strict"; 
var FacebookApi = function () {
return
}
FacebookApi.defaults = {
    request_url: null
  }
FacebookApi.prototype.request = function (options) {
$.ajax({
url: options
, cache: true
, method: 'GET'
, dataType: 'jsonp'
, success: function (data) {
FacebookApi.prototype.userinfo(data)
}
})
return
}
window.facebookapi = new FacebookApi();

  $(document)
    .on('load', facebookapi);

}(window.jQuery);

最佳答案

我不确定你的示例代码来自哪里,但如果你希望子类能够访问它,或者如果你希望能够访问它,通常你想使用 prototype它通过this

示例代码中的 defaults 将对应于 Java 中的 static 变量 - 它可以在类内或类外轻松引用,但您不能不要使用 this.defaults 来获取它。此外,子类将无法覆盖,只能访问完全限定名称 (FacebookApi.defaults) - 尽管在您的示例中,您声明的是 FacebookApi 在一个函数中,所以它只在那里可见。

希望这有助于澄清一点!

关于javascript - Object.defaults 与 Object.prototype.defaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21422256/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com