長さ属性といくつかのインデックス属性を持つオブジェクト例:
var array = ['name', 'age', 'sex']; var arrayLike = { 0: 'name', 1: 'age', 2: 'sex', length: 3 }
console.log(array[0]); // name console.log(arrayLike[0]); // name array[0] = 'new name'; arrayLike[0] = 'new name';
console.log(array.length); // 3 console.log(arrayLike.length); // 3
for(var i = 0, len = array.length; i < len; i++) { …… } for(var i = 0, len = arrayLike.length; i < len; i++) { …… }
arrayLike.push('4');
var arrayLike = {0: 'name', 1: 'age', 2: 'sex', length: 3 } Array.prototype.join.call(arrayLike, '&'); // name&age&sex Array.prototype.slice.call(arrayLike, 0); // ["name", "age", "sex"] // slice可以做到类数组转数组 Array.prototype.map.call(arrayLike, function(item){ return item.toUpperCase(); }); // ["NAME", "AGE", "SEX"]
var arrayLike = {0: 'name', 1: 'age', 2: 'sex', length: 3 } // 1. slice Array.prototype.slice.call(arrayLike); // ["name", "age", "sex"] // 2. splice Array.prototype.splice.call(arrayLike, 0); // ["name", "age", "sex"] // 3. ES6 Array.from Array.from(arrayLike); // ["name", "age", "sex"] // 4. apply Array.prototype.concat.apply([], arrayLike)
function foo(name, age, sex) { console.log(arguments); } foo('name', 'age', 'sex')
function foo(b, c, d){ console.log("实参的长度为:" + arguments.length) } console.log("形参的长度为:" + foo.length) foo(1) // 形参的长度为:3 // 实参的长度为:1
可変長のパラメータ
関数のカリー化
再帰呼び出し
関数のオーバーロード ...
以上がJavaScriptの配列オブジェクトと引数インスタンスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。