小编Che*_*ent的帖子

Javascript性能,条件语句与赋值运算符

条件运算符===和赋值运算符=之间的性能是否存在差异?我正在用猫鼬写一些预保存的钩子中间件,我想知道是否有很大的速度差异:

UserSchema.pre('save', function (next) {
    if (!this.isModified()) {
        return next();
    }
    this.crm.isUpToDate = false;
    next();
});
Run Code Online (Sandbox Code Playgroud)

UserSchema.pre('save', function (next) {
    if (!this.isModified()) {
        return next();
    }
    if (this.crm.update === true) {
        this.crm.isUpToDate = false;
    }
    next();
});
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢您的建设性意见.

基本上,它看起来并没有太大的性能差异(如上所述它可以忽略不计).感谢http://jsperf.com/测试速度的酷工具,我以前从未听说过它.

对于那些想知道代码的人,首先我在原帖中犯了一个明显的错误,然后当每个人都试图向我指出我哭了,这可能是每个人都投票的原因.

这是我在做的事情:

我有一个mongoose预保存中间件挂钩(用于mongo数据库),每次保存文档时都会运行挂钩.在保存时,我检查文档是否已更新.如果是我将其设置crmIsUpToDate为false.crmIsUpToDate当cron作业到达时,将设置为true.在cron作业到达文档之前,可以多次运行此挂钩.

我认为这不是问题的必要条件,因为问题在于进行比较===和做作业之间是否存在差异=.我甚至不应该把代码放上去,因为它确实减少了主要问题.

javascript performance operators

-101
推荐指数
2
解决办法
7432
查看次数

标签 统计

javascript ×1

operators ×1

performance ×1