首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript模块模式/原型模式:找不出这段代码

Javascript模块模式/原型模式:找不出这段代码
EN

Stack Overflow用户
提问于 2014-10-13 09:41:33
回答 1查看 90关注 0票数 0

我试图创建一个简单的谷歌地图插件。我正在学习一个教程,但我无法理解这段代码。有人能解释我的密码吗?

代码语言:javascript
复制
(function(window, google) {

   var Mapster = (function() {
       function Mapster(element, opts) {
           this.gMap = new google.maps.Map(element,opts);
       }

       Mapster.prototype = {
           zoom: function(level) {
               //some code here
           }
       };

       return Mapster;
   }());

  Mapster.create = function(element, opts) {
      return new Mapster(element, opts);
 };

 window.Mapster = Mapster;

}(window, google));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-13 09:56:44

代码语言:javascript
复制
// http://benalman.com/news/2010/11/immediately-invoked-function-expression/
(function (window, google) {
    // local `Mapster` IIFE
    var Mapster = (function () {
        // local `Mapster` constructor function
        function Mapster(element, opts) {
            this.gMap = new google.maps.Map(element, opts);
        }

        Mapster.prototype = {
            zoom: function (level) {
                //some code here
            }
        };

        return Mapster;
    }());

    // convenience function to create new instances of `Mapster`
    Mapster.create = function (element, opts) {
        return new Mapster(element, opts);
    };

    // exposing `Mapster` globally
    window.Mapster = Mapster;

    // passing in `window` & `google` as params to the IIFE
}(window, google));

// usage:

var mapster = Mapster.create(someEl, {});

console.log(mapster.gMap);

希望这些评论能澄清这一点!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26336952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档