-1

私はframer.jsを初めて使用し、書かれている http://coffeescript-for-framerjs.com/#buyという本をたどっています。

fruits[1].toUpperCase()正常に動作していました

fruits.toUpperCase()

ここの本では、果物ではなく果物です。両方を試しましたが、エラーが発生しました

toUpperCase ()は文字列メソッドであるため、配列では機能しないことがわかりました。しかし、ここで本が正確に言っていることは何ですか。

4

5 に答える 5

8

どうして:

.toUpperCase()は のメソッドであり、String.prototypeではありませんArray.prototype

あなたの場合の正しい構文の例:

var fruits = ['apple', 'orange', 'kiwi']

for (var i = 0; i < fruits.length; i++) {
    fruits[i] = fruits[i].toUpperCase();
}
于 2015-05-09T09:20:05.720 に答える
1

そのように機能させたい場合:

Array.prototype.toUpperCase = function() {
    for(var i = 0; i < this.length; i++)
        if(typeof this[i] === 'string')
            this[i] = this[i].toUpperCase();
}

テストする:

var fruits = ["oranges", "apples", "bananas"];
fruits.toUpperCase();
console.log(fruits.toString());

オレンジ、リンゴ、バナナ

于 2015-05-09T09:58:05.653 に答える