9

次のアラートは、縮小された場合でも、すべてのブラウザで「Foo」になりますか?

class Foo

alert(Foo.name)

ドキュメントには何も記載されていません。IEには関数名に問題があることを知っています。これらの問題のように、これに関して開かれている多くの問題と混同 ます

4

2 に答える 2

10

Fooに含まれるクラスの任意のメソッド内からFoo.prototype、行を挿入できます

console.log @constructor.name

そしてそれは書くでしょう

Foo

コンソールログに。HTH。

于 2012-08-15T11:23:44.707 に答える
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

于 2012-06-03T08:18:13.157 に答える