小编jam*_*ltz的帖子

Express中间件:app.use和app.all

两者之间有区别吗?

app.use('/some/path', function(req, res, next() {})

app.all('/some/path', function(req, res, next() {})

它们都是中间件函数,只能被调用/某些/路径请求,对吧?

javascript node.js express

25
推荐指数
1
解决办法
5186
查看次数

对象的隐含强制

我在使用JavaScript中的+运算符进行隐式强制时遇到了麻烦.即valueOf和toString的优先级顺序.

var obj = {};

obj.toString(); >'[object Object]"

obj.valueOf(); =>对象{}

'Hello ' + obj; >"Hello [object Object]"

所以obj被隐式强制转换为使用toString()方法而不是valueOf()的字符串;

var obj2 = {
    toString: function() {
        return "[object MyObject]"; 
    },
    valueOf: function() { 
        return 17;
    }
};
Run Code Online (Sandbox Code Playgroud)

obj2.toString(); >'[object MyObject]"

obj2.valueOf(); => 17

'Hello ' + obj2; >"你好17"

因此,当我覆盖toString和valueOf方法时,+运算符将强制使用valueOf.

我错过了什么?谢谢.

javascript

3
推荐指数
1
解决办法
422
查看次数

标签 统计

javascript ×2

express ×1

node.js ×1