我最近发现,当您在一个 V8 上下文中使用文字正则表达式语法时,instanceof RegExp
即使您RegExp
在上下文之间共享全局对象,也会返回 false。
var Contextify = require('contextify');
var ctx = Contextify({ RegExp:RegExp, app: anExpressApp });
// When you create a new route, Express checks if the argument is an
// `instanceof RegExp`, and assumes it is a string if not.
ctx.run("
app.get(new RegExp('...'), function() { ... }); // works because we share the `RegExp` global between contexts
app.get(/.../, function() { ... }); // does not work
");
您如何可靠地检查对象是否是RegExp
跨上下文的?