是否会在所有浏览器中出现以下警报“Foo”,即使在缩小时也是如此?
class Foo
alert(Foo.name)
文档中没有说明任何内容,我知道 IE 的函数名称存在问题,并且我对有关此问题的许多问题感到困惑,例如这些问题中的任何 一个 !
在 中包含的任何类Foo
的方法中Foo.prototype
,您可以插入该行
console.log @constructor.name
它会写
Foo
到您的控制台日志。HTH。
这可能取决于您使用的是哪个版本的 CoffeeScript 编译器。在最新的稳定版本 (1.3.3) 中,默认情况下不会生成“名称”属性。
class Foo
编译成
var Foo;
Foo = (function() {
function Foo() {}
return Foo;
})();
由于该name
属性是非标准的并且当前不被 IE 支持,因此您不能真正依赖它跨浏览器。有关这方面的详细信息,请访问 MDN:https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Name