0

引数を持つ関数の場合:

function displayCouplet(var couplet) {
   document.write(couplet);
}

displayCouplet("The object of my worship lies beyond perception's reach,For men who see, the Ka'aba is a compass, nothing more.");

Uncaught SyntaxError: Unexpected token varというエラーが表示されます。何故ですか ?引数からキーワードを省略してもvar問題ありません。これがなぜなのか説明してください。

4

3 に答える 3

2

あなたの問題は二つに分かれています。

functionまず、キーワード を使用してa を宣言しようとしていますvar。これは故障です。

適切な方法は

function displayCouplet(couplet) {
    //write your body here
}

次に、変数の定義は関数の引数では行われず、関数本体内で行われます。繰り返しますが、適切な方法は

function displayCouplet(couplet) {
    //write your body here
    var myOtherCouplet = "whateverACoupletIs";
}

編集:

関数に渡される引数は、関数内のローカル変数として暗黙的に作成されます。

function displayCouplet(couplet) {
    //write your body here
    var myOtherCoupletCopy = couplet;
}

関数で必要な新しい変数は で宣言する必要があります。キーワードをvar省略すると、グローバル変数が作成されます。var

簡潔に言うと、既に理解したように、この関数を呼び出します。:)

于 2013-01-10T11:31:58.110 に答える
1

必要ありませんvar。関数パラメーターは暗黙的にローカル変数になります。そして、functionnotで関数を宣言しますvar

function displayCouplet(couplet) {
   document.write(couplet);
}
于 2013-01-10T11:32:06.920 に答える
0

var最初を に変更しfunctionて 2 番目を削除すると、var動作するはずです!

于 2013-01-10T11:32:03.783 に答える