【发布时间】:2015-05-06 03:18:42
【问题描述】:
在节点上表达
var query = request.query;
打印出query的信息如下:
添加:
mac:query instanceof Object 是真的
但在 CentOS release 6.4 (Final) 上:是假的(下图)
再次添加:
节点:0.12.2
快递:3.4.4
操作系统:CentOS release 6.4(Final)
【问题讨论】:
-
可以
console.log(query,__proto__ == Object.prototype)吗? -
我正在尝试在 Express 3 和 Express 4 中重现此问题,但我无法做到。您的代码中一定有一些特殊之处。请提供更多您的代码!谢谢!
-
通常当
foo instanceof Object === false时,foo是以不共享Object.prototype的方式创建的。例如var foo = Object.create(null);将创建一个没有 (Object) 原型的对象。这也意味着它不再有内置方法。但是,我找不到在 Express 或其任何依赖项中使用Object.create(null)或类似的查询字符串解析。 -
此外,将
foo.__proto__重新分配给Object.prototype以外的其他对象将导致instanceof检查返回false。
标签: javascript node.js express instanceof