
とほほの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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptでテーブル内?に矢...
-
イラレでナンバリングする方法
-
画像のURLをコピーするブックマ...
-
javascriptで入力フォームに日...
-
$("body").height();と$("body"...
-
VSCODE[Python]の設定について
-
定積分の近似値を計算する関数c...
-
【乱数発生】 JavascriptからPe...
-
googleスプレッドシートのApps ...
-
vb.netでの記述方法について 以...
-
HTTPSのとき":"が"%3A"ではなく...
-
JavaScript window.openで開く...
-
functionから別のfunctionを実...
-
XMLでのAttributeを持ったNode...
-
idを使わずにonclickで自身の要...
-
javaで画像をランダム表示しつ...
-
jspからjavascriptの変数引継ぎ
-
jQuery text()で、<br>タグも取...
-
同じIDで定義した要素の配列を...
-
onchangeイベントを使ってspan...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
C#で、ContextMenuStripに動的...
-
ASP.NET MVCでObjectをjsに渡す
-
google apps scriptの終了のさせ方
-
ASP.NETのコントロールの値をJa...
-
JavaScriptで文字列の特定文字...
-
イベントが初めの一回しか起き...
-
GASでundefinedエラーが出ます
-
ローカルにあるファイルを検索...
-
翌月を取得するGASが分かりません
-
APIを使って埋め込んだグーグル...
-
javascriptでiframeのURL変更は?
-
ジェネレーターの作り方
-
cgiでポーリングして取得したデ...
-
var_dumpのdump意味はを知りた...
-
javascriptでテーブルに追加し...
-
シンプルなweb版スタンプラリー...
-
javascriptで複数キーワード検...
-
JavaScriptで、現在日時から100...
-
C# 演算 奇数と偶数 表現の仕方
おすすめ情報