小编Jan*_*sch的帖子

为什么在nodejs的for循环中让var慢于var?

我写了一个非常简单的基准:

console.time('var');
for (var i = 0; i < 100000000; i++) {}
console.timeEnd('var')


console.time('let');
for (let i = 0; i < 100000000; i++) {}
console.timeEnd('let')
Run Code Online (Sandbox Code Playgroud)

如果你正在运行Chrome,可以在这里试试(因为NodeJS和Chrome使用相同的JavaScript引擎,虽然版本通常略有不同):

// Since Node runs code in a function wrapper with a different
// `this` than global code, do that:
(function() {
  console.time('var');
  for (var i = 0; i < 100000000; i++) {}
  console.timeEnd('var')


  console.time('let');
  for (let i = 0; i < 100000000; i++) {}
  console.timeEnd('let')
}).call({});
Run Code Online (Sandbox Code Playgroud)

结果令我惊讶:

var: 89.162ms
let: 320.473ms
Run Code Online (Sandbox Code Playgroud)

我在Node 4.0.0 && …

javascript v8 node.js ecmascript-6

24
推荐指数
1
解决办法
2565
查看次数

JSDoc + Mongoose:如何记录Mongoose模型?

我有Mongoose 架构模型:

var MyClientSchema = new mongoose.Schema({
    fist_name: {
        type: String
    },
    phone_number: {
        type: String
    }
});

var MyClient = mongoose.model('MyClient', MyClientSchema);
Run Code Online (Sandbox Code Playgroud)

我应该如何记录(使用JSDoc)MyClient和/或MyClientSchema获取tab-completion并从WebStorm两个继承自mongoose.model类似的方法中输入建议remove, findOne, find并从类似继承phone_number and first_name

mongoose node.js jsdoc mongoose-schema

13
推荐指数
2
解决办法
1634
查看次数

如何使用 Ecmascript 6 类扩展对象文字类

我有一个class定义为 an的基础object literal,在构造函数的范围内定义了方法。像这样:

var NodeMappingAbstract = function NodeMappingAbstract() {

    this.mapToContent = function (obj) {
        throw new Error('Not implemented');
    };

    this.getInfo = function (data) {
        throw new Error('Not implemented');
    };

    this.normalizeUri = function normalizeUri(uri) {
        return uriNormalizer.normalize(uri);
    };
};
Run Code Online (Sandbox Code Playgroud)

如何NodeMappingAbstract使用 ES6class语法扩展?我尝试使用extendssuper()

class SomeMapping  extends  NodeMappingAbstract{
    constructor(){
        super();
    }

    mapToContent(rawElement) {
        console.warn('mapContent called');
        return rawElement;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我实例化它并mapToContent像这样调用时:

let m = new SomeMapping();
m.mapToContent();
Run Code Online (Sandbox Code Playgroud)

我得到Error: Not implemented …

javascript nodes node.js javascript-objects ecmascript-6

2
推荐指数
1
解决办法
501
查看次数