これはブラウザによってどのように直接行われるのか不思議です。私は、Javascript EnginesのArrayの.lengthプロパティは、実際には目に見えないセッターとゲッターを使って、ECMAの標準の機能を達成すると聞いています。「lengthプロパティが変更されるたびに、値が小さくない配列インデックス新しい長さが自動的に削除されます ")。私はこのケースでセッターが必要だと理解していますが、ゲッターは何ですか?この価値を得るためにネイティブゲッターを実際に呼び出す必要がありますか?または、これはJavascript Engineをどこか理解している間違いです。Javascript配列.lengthプロパティ/ JavascriptEngineのメソッド
0
A
答えて
3
プロパティは、フィールドとして、またはsetter/getterメソッドとして実装されるか...
var obj = {myProp:0}.myProp; // getting
obj.myProp = 1; // setting
上記の例は少しファンキーですが、私はあなたのアイデアを得ると思います。
フィールドの場合、それは単なる値です。値を設定すると、値が変化するよりも何も起こりません。
値が設定されるたびに何かを実行するためにsetterメソッドがある場合は、getterメソッドが値を返す以外に何もしない場合でも、一致させるgetterメソッドがあります。プロパティを実装する2つの方法を混在させたくない場合は、どちらの方向にも簡単に進むことができます。
2
defineGetter and defineSetterをご覧ください。これはFirefoxがそれをする方法かもしれませんが、他のブラウザについてはわかりません。
本当に問題はありますか? .lengthは私が知っているすべてのためにC++で実装することができます。それはjavascriptエンジンの組み込み部分であり、実際にはjavascriptでは実装できません。あなたが知る必要があるのは、配列の長さが長さを保持し、配列の長さが変更された場合です。
1
JavaScriptのArrayオブジェクトには、配列インスタンスの現在の長さを返す関数プロパティ.length()があります。 GettersとsetterはJavaScript 1.6(私は思う)のように定義することができますが、広く採用されておらず、私はそれをあまり利用していません。ゲッターと値を返す関数の唯一の違いは、構文です。ゲッターとセッターは、割り当ての方向に応じてエンジンから呼び出すことができます。
関連する問題
- 1. JavaScriptのメソッドは、メソッド(配列)
- 2. NSStringのlengthプロパティ
- 3. JavaScript配列の長さメソッド
- 4. .lengthはJavaScript配列の適切な呼び出しですか?
- 5. メソッドのjavascriptプロパティ
- 6. ネイティブlengthメソッド
- 7. Rustのalloca/variable length配列ですか?
- 8. javascriptオブジェクトのプロパティ/配列操作
- 9. JavaScriptのprototypeプロパティは配列とオブジェクトフィールド
- 10. Javascript - .length returns 0
- 11. 2次元配列(y軸)のPHP配列.length
- 12. ヌル(javascript)のプロパティ 'length'を読み取れません
- 13. TypeScript - 固定長配列<length>タイプ?
- 14. Lengthプロパティを使用して2次元配列を検索する
- 15. Javascriptの新しい配列とjoin()メソッド
- 16. プロパティ名のJavascript toStringメソッド
- 17. javascript配列をC#メソッドに渡す
- 18. Length列定義のプロパティが認識されない
- 19. JavaScriptEngineのjavaクラスNotFoundExceptionの取得
- 20. Phingの配列プロパティ
- 21. のNeo4j配列プロパティ
- 22. 2D配列プロパティ
- 23. 、配列プロパティが
- 24. PHP配列のJavaScript配列
- 25. JavaScript内のプロパティとメソッド名のアンダースコアプレフィックス
- 26. オブジェクトのプロパティと配列の間の反復の違いJavascript
- 27. オブジェクトのプロパティを反復するJavascriptメソッド
- 28. JavaScriptオブジェクトのメソッドはnullプロパティに
- 29. JavaScriptメソッド/プロパティのブラウザ可読性/サポートテーブル
- 30. javascript配列オブジェクトのプロパティの値にアクセスする方法
ネイティブオブジェクトには、独自のゲッタ/セッタを持つことができます。 –