:Javascript에서 "i = + i"는 무엇을 의미합니까? JQuery와 소스에서
eq: function(i) {
i = +i;
return i === -1 ?
this.slice(i) :
this.slice(i, i + 1);
},
는 반드시 int로 난을 구문 분석 메이크업에 사용인가?
:Javascript에서 "i = + i"는 무엇을 의미합니까? JQuery와 소스에서
eq: function(i) {
i = +i;
return i === -1 ?
this.slice(i) :
this.slice(i, i + 1);
},
는 반드시 int로 난을 구문 분석 메이크업에 사용인가?
은 내가 int로 확인 구문 분석을 위해 사용인가?
는 아니, i
가 수 (중 float
또는 int
)이 있는지 확인합니다. 함수가 수행하는 것을 감안할 때 i
을 10 진수가 아닌 값으로 변환하는 것이 더 좋았습니다. slice
이 소수를 처리하는 방법을 모르겠습니다.
더 많은 정보 : MDN - Arithmetic Operators
'slice'는 [ToInteger] (http://es5.github.com/#x9.4) 작업을 통해 인수를 변환합니다. (기본적으로 소수점을 건네면 바닥에 깔려 있습니다.) –
@ T.J.Crowder : Thanks :) –
거의 같지만, 은입니다.
[ECMA-262: 11.4.6]:
단항 연산자+
Number
타입 피연산자 변환한다.제조 UnaryExpression 다음과 같이 + UnaryExpression 평가된다 :
- EXPR가 UnaryExpression 평가 결과하자.
- Return ToNumber (GetValue (expr)).
예는 것 확실히 그것은 INT (또는 @Felix 말한대로 일반적으로 숫자)입니다. 이 코드를 사용해보십시오 :
var i = "2";
console.log(i === 2); // false
console.log(+i === 2); // true
예, 변수에 단항 +
을 적용하는 보장은 (예를 들어 문자열) 다른 유형의, 그것은 converted to a number (하지 int로 가져가 있다면, 자바 스크립트가 발생하지 않는 것을의 int를 일부 작업에서는 내부적으로 사용하지만). 숫자는 소수 일 수 있으며 문자열 인 경우 JavaScript가 숫자를 구문 분석하는 일반적인 방법으로 구문 분석됩니다 (예 : +"0x10"
은 16
10 진수).
+i
내가 숫자로 구문 분석되는지 확인합니다.
뭐라고 요? 아닙니다. –
잘못되었습니다. 'i + = i'는 실제 값 +1을 증가시킵니다! ** NOT **'i = + i' - http://www.devcurry.com/2011/07/unary-plus-operator-in-javascript.html – Smamatti
구문 오류가 발생했습니다. 나는 또한 질문에 유용하지 않았기 때문에 이것을 삭제했다. –
가능한 http://stackoverflow.com/questions/5450076/whats-the-significant-use-of-unary-plus-and-minus-operators 중복 – scibuff
@scibuff'VAR I = -5; i = + i; console.log (i);'.... 여전히 음수 (기본 수학). –
@scibuff : 어떻게 그렇게? 그 질문의 처음 몇 단어가 이것에 대한 답입니다. –