ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの使用例 Array.prototype.slice_javascriptスキル

JavaScriptの使用例 Array.prototype.slice_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 17:15:20853ブラウズ

Array.prototype.slice(arguments, 0); この書き込みメソッドは function() {} 内で使用でき、関数のパラメーター リストを実数の配列に変換できます。例を参照してください:

コードをコピー コードは次のとおりです:

var slide = Array .prototype.slice;
var toString = Object.prototype.toString;
(function() {
var args = argument;
console.log(args, toString.call(args)); // [ 1, 2, 3] "[オブジェクト引数]"
var argsArr = slide(args, 0);
console.log(argsArr, toString.call(argsArr)); // [1, 2, 3 ] "[object Array]"
}(1,2,3))

関数のパラメーター リストの引数が、呼び出されてから 1 秒以内に Array に変更されることがわかります。スライス。
同様に、選択した DOM 要素を配列に変換することもできます。
コードをコピーします コードは次のとおりです。

slice.call(document.querySelectorAll("div"));

手がかりに従って、スライド メソッドでオブジェクトをオブジェクトに変換できるか考えてみましょう。配列?例を参照してください:
コードをコピーします コードは次のとおりです:

console.log (slice.call( 'string')); // ["s", "t", "r", "i", "n", "g"]
console.log(slice.call(new) String('string' ))); // ["s", "t", "r", "i", "n", "g"]

毎回、文字列直接配列に変換されます。
ただし、数値とブール値は空の配列に変換されます:
コードをコピー コードは次のとおりです:

console.log(slice.call(33));
console.log(slice.call(true));

通常のオブジェクトも長さ属性を追加しない限り、空の配列に変換されます:
コードをコピー コードは次のとおりです:

console.log(slice.call({name: 'obj'})); // []
console.log(slice.call({0: 'zero', 1: 'one '})); // []
console.log({0: 'ゼロ', 1: '1', 名前: 'obj', 長さ: 2}); // [" zero", "one "]

また、配列のクローンを作成するためにも使用できます:
コードをコピー コードは次のとおりです:

var srcArr = [1,2,3];
var newArr = srcArr.slice(0);
console.log( srcArr, newArr); // [1,2,3] [1,2,3]
console.log(srcArr == newArr); // false
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。