new Array();
これは、呼び出しが実際の代わりにカスタムオブジェクトを返すようにする配列コンストラクターをオーバーライドするためですArray
。
そう呼ぶ
var arr = ["zdxc", "sd", 1111, 11.1];
arr
beeing をネイティブにしますArray
。
通話中
var arr_override = new Array();
beingを前に宣言した型にすることで、-statement を実行しarr_override
ます。コンストラクターの種類をオーバーライドすると、識別子から -initialisation が「消去」され、コンストラクター関数に置き換えられます。実際のものではありません。Object
alert
Array
Array
この質問への回答によると、Array-Literal ( []
) は、2008 年頃からすべての市長ブラウザーでこの動作の影響を受けていません。
編集:
少し試してみたところ、-表記の動作を変更することはできないようであり、[]
ネイティブ オブジェクト (特にそのコンストラクター) を変更することもお勧めできません。
以下の例のように、プロトタイプを拡張し、既存のプロパティ/メソッドを変更することは可能ですか?
var arr = [];
arr.push('2323');
alert(arr);
Array.prototype.push = function() { alert('trololololo'); }
arr.push(123);
お役に立てれば。乾杯!