
とほほのjavascriptで勉強しています。
http://www.tohoho-web.com/js/function.htm#objFun …
ここの
function goukei() {
var ans = 0;
for (i = 0; i < goukei.arguments.length; i++) {
ans += goukei.arguments[i];
}
return(ans);
}
sum = goukei(1, 2, 3, 4, 5);
goukei関数を定義したときの引数は、なしなのに
goukei関数を呼び出すとき、goukei(1, 2, 3, 4, 5)と、このように5つも引数を指定しています。
Javaでは、こんな呼び出し方をすれば、コンパイルエラーになりますよね。
javascriptでは、引数なしで関数を宣言しても、呼び出すときに、好きな個数の引数を渡せるのですか?
「javascript 引数 省略」とか、「javascript 引数なし」とかいろいろググッてみたのですが
肝心の、javascriptでは引数なしにして宣言しても、呼び出すとき、好きな個数の引数つけて呼び出しても大丈夫。みたいな、確認したい記述はみつかりませんでした。
javascriptでは、このような書き方もできるということでしょうか。
No.1ベストアンサー
- 回答日時:
できます
JavaScriptでは関数の引数は
arguments
というオブジェクトに格納されます
つまり
function aaa( a0, a1) {
とした場合、常に
a0 == arguments[0]
a1 == arguments[1]
が成り立ちます
回答ありがとうございます。
関数の定義の引数の個数と、関数を呼び出す際の引数の個数が一致しないのは
javascriptではOKなんですね。
なんて簡便なんだろう。
引数がargumentsオブジェクトに格納されるという仕組みになっているのですね。
飲み込めました。
No.3
- 回答日時:
argumentsは慣れないと分かりづらいですね
きちんとかくとこんな感じです
<script>
window.goukei=function(){
var ans = 0;
var obj=arguments.callee;
for (var i = 0; i < obj.arguments.length; i++) {
ans += obj.arguments[i];
}
return(ans);
}
var sum = goukei(1, 2, 3, 4, 5);
alert(sum);
</script>
回答ありがとうございます。
今はまだjavascriptは未熟なので、提示してくださったコードを完全に理解
できないのですが、わかるようになるように、がんばろうと思います。
javascriptひととおり、飲み込んでから、再度、コードを読んでみます。
No.2
- 回答日時:
JavaScriptは引数をチェックしてくれない仕様になっています。
しかし、"arguments"というオブジェクト?があり、
これにより引数を管理する事ができます。
で、例題の場合は可変引数(引数で渡す値の数が自由に変えられる)のもので、
引数分だけループして合計すると言うものです。
回答ありがとうございます。
定義する側と、呼び出す側が一致していなくても、きちんとブラウザで実行されるので
あれ?と思ったら、そういうことだったんですね。
関数呼び出しで渡す引数の個数を、いろいろ変えられたら便利なんでしょうね。
今は、まだ未熟なので使いこなせないけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- JavaScript JavaScriptの即時関数の書き方 1 2022/11/29 09:52
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C言語のwhileを含む関数について 2 2022/12/16 12:28
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- その他(データベース) DAOファイルのSQLクエリの部分を引数にして呼び出すときに引数でSELECT文持たせたら 1 2023/01/10 17:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
複数のRSSを取得した項目を別々...
-
XMLの空白要素をJavas...
-
ローカルにあるファイルを検索...
-
google apps scriptの終了のさせ方
-
JavaScriptの修正を助けて下さい
-
HTMLで作った時報アプリが動き...
-
アルファベットABCD…をスマート...
-
JavaScriptを使って毎日決まっ...
-
HTMLにWSHを組み込む
-
半角と全角の文字数について
-
<a>タグのテキストを取得
-
助けてください‼︎ javascriptで...
-
Javascriptの丸括弧の意味
-
idを使わずにonclickで自身の要...
-
JavaScript window.openで開く...
-
window.openでタイトル名の指定
-
二次元配列を使って順位をだす...
-
LightBoxで
-
apache VirtualHostが実行されない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#で、ContextMenuStripに動的...
-
ASP.NET MVCでObjectをjsに渡す
-
ローカルにあるファイルを検索...
-
C#OpenCv V4にのエラーに関する...
-
google apps scriptの終了のさせ方
-
イベントが初めの一回しか起き...
-
ジェネレーターの作り方
-
JavaScriptで文字列の特定文字...
-
javascriptでテーブルに追加し...
-
なぜmatchメソッドがエラーにな...
-
ASP.NETのコントロールの値をJa...
-
javascriptでiframeのURL変更は?
-
翌月を取得するGASが分かりません
-
1日1回だけ引けるjavascriptお...
-
商品コードを入力で、商品名、...
-
JavaScriptで平日のみをカウン...
-
jsによって検索プルダウン、都...
-
C# 演算 奇数と偶数 表現の仕方
-
GASでundefinedエラーが出ます
-
gas スプレッドシートがアクテ...
おすすめ情報