2017-02-04 10 views
1

このスクリプトはMozilla Development Networkで例として見つけました。find helper JavaScript

function isPrime(element, index, array) { 
    var start = 2; 
    while (start <= Math.sqrt(element)) { 
    if (element % start++ < 1) { 
     return false; 
    } 
    } 
    return element > 1; 
} 

ダブル "+"は "スタート"の直後の意味を教えてください。開始変数の値が変更されますか?

あなたは

+1

それは1変数をインクリメントし、自身に結果を割り当てます。 **増分演算子**の詳細については、こちらを参照してください。[ここ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Increment_()) – mrlew

+0

可能な複製[++ someVariable Vs. someVariable ++ in Javascript](https://stackoverflow.com/questions/3469885/somevariable-vs-somevariable-in-javascript) –

答えて

1

変数の後の二重の「+」は、ステートメントで変数を使用した後にその変数を1つ増やすことを意味します。

は、だからあなたの場合にはelement % start++ < 1は、変数の前に「++」を有する一方、element % start < 1; start = start+1;

に相当し、それは最初の変数をインクリメントして、文を実行することを意味します。ここ

この動作のいくつかの例は、次のとおり

var a = 1; 
 
var b = a++; 
 
console.log(b); // 1 
 
console.log(a); // 2 
 

 
var c = 1; 
 
var d = ++c; 
 
console.log(d); //2 
 
console.log(c); //2 
 

 
var test = 2; 
 
if (8 % test++ < 1) { 
 
    console.log("will log"); 
 
} 
 

 
test = 2; 
 
if (8 % ++test < 1) { 
 
    console.log("will NOT log"); 
 
}

2

これは

var old_value = start; 
start = start + 1; 
if (element % old_value < 1) { 
... 

変数の値を読み、[1によってそれを上げると同じですありがとうございました。