小编use*_*765的帖子

JavaScript中这三种"类"定义模式之间有什么区别?

当选择使用这四种模式中的一种而不是其他模式时,是否存在任何重要/细微/显着的差异?并且,当通过Object.create()vs new运算符"实例化"时,它们之间是否存在差异?

1)CoffeeScript翻译"类"定义时使用的模式:

Animal = (function() {

  function Animal(name) {
    this.name = name;
  }

  Animal.prototype.move = function(meters) {
    return alert(this.name + (" moved " + meters + "m."));
  };

  return Animal;

})();
Run Code Online (Sandbox Code Playgroud)

2)Knockout似乎促进的模式:

var DifferentAnimal = function(name){

    var self = this;

    self.name = name;

    self.move = function(meters){
        return alert(this.name + (" moved " + meters + "m."));
    };

}
Run Code Online (Sandbox Code Playgroud)

3)我经常看到的类似的简单模式:

var DifferentAnimalWithClosure = function(name){

    var name = name;

    var move = …
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript backbone.js knockout.js

15
推荐指数
1
解决办法
643
查看次数

Browserify Ember.js 1.7

最新的1.7 Ember beta打破了我的gulp-browserify任务(下面的配置),但有以下异常:

Error: browserify-shim needs to be passed a proper browserify instance as the first argument.

Gulp一直在愉快地浏览Ember直到1.7(并且使用下面的配置继续使用最新的1.6).我在1.7的发行说明中注意到模块系统经历了一些剧变.

我的问题是:这是Ember(或者也许是Browserify)中的合法错误吗?或者Ember不再打算与浏览器这样的工具一起使用,而是支持其他一些特定的方法?

精确配置:

packages.json:

(注意,这个特定的站点已经通过标准脚本标记嵌入了jQuery,因此需要browserify-shim,以及global:jquery dep上的表示法.)

{
  "browser": {
    "handlebars": "./scripts/lib/handlebars-v1.3.0.js",
    "ember": "./scripts/lib/ember-1.7.min.js"
  },
  "browserify-shim": {
    "jquery": "global:jQuery",
    "handlebars": "Handlebars",
    "ember": {
      "exports": "Ember",
      "depends": [
        "handlebars:Handlebars"
      ]
    }
  },
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  },
  "devDependencies": {
    "browserify": "^4.1.11",
    "browserify-shim": "^3.5.0",
    "gulp": "^3.8.1",
    "gulp-browserify": "^0.5.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

gulpfile.js:

var gulp = require('gulp'),
    browserify = require('gulp-browserify');


gulp.task('scripts', function () …
Run Code Online (Sandbox Code Playgroud)

ember.js browserify browserify-shim

5
推荐指数
0
解决办法
925
查看次数