modal.js中的匿名函数定义

anonymous function definition in modal.js

本文关键字:函数 定义 js modal      更新时间:2023-09-26

嘿,伙计们,我刚刚浏览了一下modal.js,对Javascript以及modaljs插件中使用的编码约定有一些问题

Modal.js插件。

如果您看到第76行,请注意ananimous函数是如何启动的:

this.backdrop(function () {

我是javascript的新手,很少见过这样的东西,为什么不做以下操作呢:

(function () {

this.backdrop定义在哪里?参见定义但未定义的this.$backdropthis.backdrop

其次,我有一个相对容易的问题,但我只是想确认一下,即使我进行了一些测试,问题是在使用原型时这意味着什么。看看下面的骨架代码:

+function ($) {
  'use strict';
  // MODAL CLASS DEFINITION
  // ======================
  var Modal = function (element, options) {
    this.options  w      = options
    this.$body          = $(document.body)
    this.$element       = $(element)
    this.$backdrop      =
    this.isShown        = null
    this.scrollbarWidth = 0
    if (this.options.remote) {
      this.$element
        .find('.modal-content')
        .load(this.options.remote, $.proxy(function () {
          this.$element.trigger('loaded.bs.modal')
        }, this))
    }
  }
  Modal.VERSION  = '3.3.2'
  Modal.TRANSITION_DURATION = 300
  Modal.BACKDROP_TRANSITION_DURATION = 150
  Modal.DEFAULTS = {
    backdrop: true,
    keyboard: true,
    show: true
  }
  Modal.prototype.checkScrollbar = function () {
  }
  Modal.prototype.setScrollbar = function () {
  }
  Modal.prototype.resetScrollbar = function () {
  }
  Modal.prototype.measureScrollbar = function () { 
  } 
}(jQuery);

这里面指的是什么,比如Modal.prototype.measureScrollbar??情态动词或者Modal.prototype.setScrollbar,如果我控制台日志,我会得到Object{options:Object,$body:Object,$element:Object,isShowd:false,$background:null,scrollbarWidth:17,bodyIsOverflow:false}但是为什么我不得到Modal.protype.setScroll bar,Modal.protetype.resetScrollbar,Modald.prototype.measureScrollbar即使它们是Modal的一部分。

请注意,我的主要困难是关于this.backdrop(function() { }) 的编码约定

如果有任何帮助,我将不胜感激。

谢谢。

亚历山大。

为什么。。。this.background(函数(){

因为backdrop函数需要回调(请参阅下文)。

this.backdrop定义在哪里我看到了$背景已经定义,但不是这个。背景?

它在186线上被定义为原型的一部分:

Modal.prototype.backdrop = function

这意味着当模式被实例化(例如new Modal)时,创建的对象将具有backdrop函数。这就是JavaScript原型继承的工作原理。也许可以看看这篇文章的介绍:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain