findQuery如何在Ember本地存储适配器中工作

时间:2013-08-15 23:29:00

标签: ember.js

在Ember本地存储适配器的findQuery功能中,我对包含"[Object RegExp]"的{​​{3}}感到困惑。这是什么意思?

    if (Object.prototype.toString.call(test) == '[object RegExp]') {
      push = test.test(record[property]);
    } else {
      push = record[property] === test;
    }

1 个答案:

答案 0 :(得分:2)

[Object RegExp]regular expression object in Javascript的字符串表示形式(toString())。

该部分代码检查查询是否为正则表达式。如果是这样,它会在属性上运行表达式对象test(),否则会进行严格的===比较。

尝试在控制台中运行它:

var test = /a.*?nice regex/;
var string = "Is this a very nice regex?";
console.log( Object.prototype.toString.call(test) );
console.log( test.test(string) );