我模仿了一个库,并能够写下面的代码。 这段代码创build了'c'对象,其中分配了'a'function。 所以,要调用'a' ,我将不得不写ca() 。 此外,我能够添加更多的function,这个'c'对象。 我想了解这个代码中发生了什么。 它看起来不像普通的面向对象编程。 什么是这种types的JavaScript编程称为? var c = (function(c) { if (c === undefined) { c = {}; } function a() { alert(1); } ca = a; return c; }(c));
遇到麻烦得到以下通过jslint / jshint /*jshint strict: true */ var myModule = (function() { "use strict"; var privVar = true, pubVar = false; function privFn() { return this.test; // -> Strict violation. } function pubFn() { this.test = 'public'; // -> Strict violation. privFn.call(this); // -> Strict violation. } return { pubVar: pubVar, pubFn: pubFn }; }()); […]
我是一个完全新手ninject 我一直在拉别人的代码,发现nInject模块的几个实例 – 从Ninject.Modules.Module派生的类,并有一个包含他们大部分代码的加载方法。 通过调用StandardKernel实例的LoadModule方法并将其传递给模块类的一个实例来调用这些类。 也许我错过了这里明显的东西,但是这只是创build一个普通的旧类和调用它的方法,或者也许静态类与静态方法的好处是什么?
我想知道模块模式或Constructor / protoType模式是否更适用于我的工作。 基本上我使用不引人注意的JavaScript – HTML文件有一个对.js文件的引用。 我对模块模式的理解: 调用一个INIT方法(这基本上是一个公共方法,我可以使用模块模式创build和返回) 在INIT方法中,分配所有的点击事件等 这听起来像是我的情况的完美模式,因为我不需要创build对象和inheritance层次结构等。 我对构造函数/原型模式的理解: 用于创build对象 为了使用inheritance(即超types的子types) 我是正确的,提供不显眼的JavaScript,模块模式是理想的?
我正在阅读最近学习JavaScriptdevise模式的书。 我没有得到的是模块模式和显示模块模式之间的区别。 我觉得他们是一回事。 任何人都可以举个例子吗?