質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1315閲覧

JavaScript の下記コードについて

suama0826

総合スコア7

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/04/19 12:44

前提・実現したいこと

JavaScript 初心者です。
下記コードにおいて、

var countdown = function(due) {

の due の意味がわかりません。

また、
var time = counter[1] + '時間' + counter[2] + '分' + counter[3] + '秒';

の [1][2][3]が

count[1] count[2] count[3]

ではないのもよくわかりません。

ご教授いただけると幸いです。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <title>template</title> <link href="../../_common/css/style.css" rel="stylesheet" type="text/css"> </head> <body> <header> <div class="header-contents"> <h1>タイトル</h1> <h2>サブタイトル</h2> </div><!-- /.header-contents --> </header> <div class="main-wrapper"> <section> <p>いまから<span id='timer'></span>以内に注文すると50%オフ!</p> </section> </div><!-- /.main-wrapper --> <footer>JavaScript Samples</footer> <script> var countdown = function(due) { var now = new Date(); var rest = due.getTime() - now.getTime(); var sec = Math.floor(rest / 1000 % 60); var min = Math.floor(rest / 1000 / 60) % 60; var hours = Math.floor(rest / 1000 / 60 /60) % 24; var days = Math.floor(rest / 1000 / 60 / 60 / 24); var count = [days, hours, min, sec]; return count; } var goal = new Date(); goal.setHours(23); goal.setMinutes(59); goal.setSeconds(59); console.log(countdown(goal)); var counter = countdown(goal); var time = counter[1] + '時間' + counter[2] + '分' + counter[3] + '秒'; document.getElementById('timer').textContent = time; </script> </body> </html>

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

dueは単なる引数です。関数定義のためにしか使われていません。後の部分でcountdown(goal)のように、Dateオブジェクトであるgoalがパラメータとして使用されています。
counterは、var counter = countdown(goal);となっているので、countdown関数内の戻り値であるcountが代入されています。

投稿2018/04/19 14:02

Udomomo

総合スコア1524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

これは、関数というものを定義して、それを呼び出して関数の返す結果を変数に代入しています。
具体的には、仮引数dueを持つ関数countdownを定義して、それをgoalを実引数として呼び出して、返す結果を変数counterに代入しています。

関数とは何か、関数の引数、関数の返り値(戻り値)などについて勉強してください。

投稿2018/04/19 13:57

編集2018/04/19 14:13
otn

総合スコア84421

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問