我知道在函数对象上调用toString
会给我函数定义的字符串表示形式,如:
function foo() { /*...*/ }.toString();
对我来说很好。
但是here
function stringifyFn(fn) {
// Support: Chrome 50-51 only
// Creating a new string by adding `' '` at the end, to hack around some bug in Chrome v50/51
// (See https://github.com/angular/angular.js/issues/14487.)
// TODO (gkalpak): Remove workaround when Chrome v52 is released
return Function.prototype.toString.call(fn) + ' ';
}
我看到作者在很多地方使用过这种模式,背后的原因可能是什么?