タグ

classとsafariに関するIMAKADOのブックマーク (1)

  • Safari でのクラッシュを修正: Days on the Moon

    Safari でこのブログを見るとクラッシュすることがあった問題ですが、私の書いたスクリプトに原因がありました。 var Klass = function () { if (this.constructor != arguments.callee) return new arguments.callee(); /* Initialize object... */ }; これは「クラスの機能と関数の機能を併用」を基にしたもので、Klass() のように関数として呼び出されたときも、new Klass() と呼び出されたときと同じく Klass オブジェクトを返すための処理なのですが、これが期待通り働くためには Klass.prototype.constructor == Klass が成り立っていないといけません。しかし、Safari には関数式により作られた関数オブジェクト f に関して、

    IMAKADO
    IMAKADO 2007/10/30
    safariは関数式により作られた関数オブジェクト f に関して、f.prototype.constructor が設定されない
  • 1