关于Query源码的分析,求大神们看看。


   
  var core_version = "2.0.3",
  
core_trim = '1'.trim;

console.log(core_trim.call(' text ')); // text

console.log(trim.call(' text ')); // Uncaught ReferenceError: trim is not defined

如上代码,为什么第二个不对,另外说明一下为什么用第一种方法,谢谢大家。



相关链接

jquery JavaScript

放开那大妈 10 years, 1 month ago

其实很好理解的:

   
  '1'.trim 其实就是相当于 String.prototype.trim
  

core_trim.call(' text ') 就相当于 String.prototype.trim.call(' text ')

query之所以这么做,是因为它还是想尽量调用原生的js函数,如果没有的话,再自己实现。这样效果会更高。

就像注释中写到:Use native String.trim function wherever possible

異端審判團團長 answered 10 years, 1 month ago

Your Answer