JavaScript関数のlength属性の使い方の紹介_javascriptのヒント

WBOY
リリース: 2016-05-16 16:36:17
オリジナル
1237 人が閲覧しました

[1,2,3] は 3 を取得でき、「123」も 3 を取得できます。js について少し知っている人なら誰でもこれを知っています。

しかし、eval.length、RegExp.length、"".toString.length、1..toString.length は何を取得するのでしょうか?

それぞれ 1、2、0、1 になりますが、これらの数字は何を表していますか?

実際、関数の長さは仮パラメータの数を取得します。

例を簡単に見てみましょう:

function test(a,b,c) {}
test.length // 3

function test(a,b,c,d) {}
test.length // 4
ログイン後にコピー

非常に単純ですが、実際にパラメータを定義せずに関数内の引数を介してパラメータが呼び出された場合、長さは 0 しか取得されません。

function test() { console.log( arguments );}
test.length // 0
ログイン後にコピー

この関数は確かにパラメータを渡すことができ、パラメータも内部的に呼び出されますが、length は渡されるパラメータの数を知ることができません。
実際のパラメータの数は、関数の実行時に引数 length を通じてのみ取得できます。

function test() { console.log( arguments.length );}
test(1,2,3); // 输出 3
test(1,2,3,4); // 输出 4
ログイン後にコピー

つまり、関数の長さ属性は仮パラメータの数のみを取得でき、実際のパラメータの数は取得できません。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート