オブジェクトのプロトタイプに列挙可能な関数を追加するたびに、タイプエラーが発生します。オブジェクトにプロトタイプに列挙可能な関数を追加するときに捕捉できないタイプエラー
jquery-1.10.2.js:2451 Uncaught TypeError: matchExpr[type].exec is not a function
at tokenize (jquery-1.10.2.js:2451)
at Function.Sizzle [as find] (jquery-1.10.2.js:1269)
at init.find (jquery-1.10.2.js:5744)
at change-project-controller.js:4
at change-project-controller.js:255
tokenize @ jquery-1.10.2.js:2451
Sizzle @ jquery-1.10.2.js:1269
find @ jquery-1.10.2.js:5744
(anonymous) @ change-project-controller.js:4
(anonymous) @ change-project-controller.js:255
jquery-1.10.2.js:2451 Uncaught TypeError: matchExpr[type].exec is not a function
at tokenize (jquery-1.10.2.js:2451)
at Function.Sizzle [as find] (jquery-1.10.2.js:1269)
at init.find (jquery-1.10.2.js:5744)
at filter-by-registrant-controller.js:10
at filter-by-registrant-controller.js:179
tokenize @ jquery-1.10.2.js:2451
Sizzle @ jquery-1.10.2.js:1269
find @ jquery-1.10.2.js:5744
(anonymous) @ filter-by-registrant-controller.js:10
(anonymous) @ filter-by-registrant-controller.js:179
jquery-1.10.2.js:2451 Uncaught TypeError: matchExpr[type].exec is not a function
at tokenize (jquery-1.10.2.js:2451)
at Function.Sizzle [as find] (jquery-1.10.2.js:1269)
at init.find (jquery-1.10.2.js:5744)
at registrations-controller.js:6
at registrations-controller.js:412
tokenize @ jquery-1.10.2.js:2451
Sizzle @ jquery-1.10.2.js:1269
find @ jquery-1.10.2.js:5744
(anonymous) @ registrations-controller.js:6
(anonymous) @ registrations-controller.js:412
Index:290 Uncaught TypeError: Cannot read property 'registerFilter' of undefined
at Index:290
(anonymous) @ Index:290
最後の4つのエラーは、jQueryとは関係がないことに注意してください。
これは、エラーが発生する原因となるコードです:
Object.defineProperty(Object.prototype, "select", {
enumerable: true,
value: function() {
return "hello world";
}
});
私はこのように、非可算としての機能を追加した場合、私はエラーを取得しない:
Object.defineProperty(Object.prototype, "select", {
enumerable: false,
value: function() {
return "hello world";
}
});
ていることに注意してください唯一の違いは、列挙可能なメンバーがfalse
に設定されていることです。また、ObjectではなくArrayに追加されるenumerable関数を変更しても、コードは正常に動作します。
私が取り組んでいるプロジェクトは私のものではありませんので、私はそれを共有することはできません。jsfiddleまたは単純なHTMLファイルでエラーを再現できませんでした。
私はあなたが何を意味するかを見て、私はそれを十分に尊重します。しかし、私は、なぜ私のregisterFilter関数が突然消えてしまうのかという問題に悩まされています。何か案が? –
@RobinTheilade:私はそれを理解するのが怖いです。あなたが作成できなかったMCVEを持っていなければなりません。基本的には、上記の問題によってどこかで何かがうまくやっていて、それがノックオン効果を持っていて、あなたが見ているエラーを引き起こしています。確かに知る唯一の方法は、MCVEの制作を継続することです(その過程で、おそらくそれを理解するでしょう)。しかし、それは時間を費やすのに便利な方法ではありません。根本的には、ルートプロトタイプに列挙型を追加しないでください。 :-) –