7

asm.jsのドキュメントを調べてみると、サンプル コード全体にこの奇妙な (少なくとも私にとっては、JS にはまったく新しい) スニペットが見つかりました。

function test(x) {
    x = +x; // THIS
    ...
    return +(x*y);
}

+最初の行の の目的は何ですか?

4

2 に答える 2

5

単純castingに別のタイプの値に数値として使用されます。NaNさらに、そのシンボルの後の値+が に変換できなかった場合に返されnumberます。

フィドル

本から Javascript and Jquery - The Missing Maunal

var numOfShoes = '2';
var numOfSocks = 4;
var totalItems = +numOfShoes + numOfSocks;

変数の前に + 記号を追加すると (2 つの間にスペースがないことを確認してください)、JavaScript インタープリターは文字列を数値に変換しようとします。文字列に「2」などの数字しか含まれていない場合は、数値に変換された文字列。この例では、最終的に 6 (2 + 4) になります。もう 1 つのテクニックは、次のように Number() コマンドを使用することです。

var numOfShoes = '2';
var numOfSocks = 4;
var totalItems = Number(numOfShoes) + numOfSocks;

Number() は、可能であれば文字列を数値に変換します。(文字列が数字ではなく単なる文字である場合、文字を数字に変換できないことを示す NaN 値を取得します。)

于 2013-04-08T06:27:59.657 に答える
3
于 2013-04-08T06:29:58.423 に答える