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