jslint의 "예기치 않은 ++"오류
이 질문에는 이미 답변이 있습니다.
그때 가장 좋은 방법 은 무엇입니까 ?
Jslint는 "혼란을 추가"한다고 설명합니다. 나는 그것을 정말로 보지 못한다 ...
편집 : 요청 된 코드 :
var all,l,elements,e;
all = inElement.getElementsByTagName('*');
l = all.length;
elements = [];
for (e = 0; e < l; (e++))
{
if (findIn)
{
if (all[e].className.indexOf(className) > 0)
{
elements[elements.length] = all[e];
}
} else {
if (all[e].className === className)
{
elements[elements.length] = all[e];
}
}
}
i += 1
jslint의 조언을 따르려면 대신 사용하십시오 .
/*jslint plusplus: true */
자바 스크립트 파일 앞에 추가하면 됩니다.
혼동을 피하고 축소기를 사용할 때 발생할 수있는 문제를 피하려면 항상 동일한 연산자 (+ 또는-)와 함께 사용할 때 연산자와 해당 피연산자를 감싸십시오.
var i = 0, j = 0;
alert(i++ +j);
이렇게하면 i 및 j가 추가되고 부작용으로 i가 증가하여 0이 경고됩니다.
그러나 누군가가 와서 우주를 움직이는 것은 무엇입니까?
var i = 0, j = 0;
alert(i+ ++j);
이제 j를 먼저 증가시킨 다음 새로운 j 값에 i를 더하여 1이 경고됩니다.
이렇게하면 쉽게 해결할 수 있습니다.
var i = 0, j = 0;
alert((i++) +j);
이제 이것은 착각 할 수 없습니다.
개인적으로, 나는 i++
그 자체 로 같은 문장을 선호 합니다. 더 큰 진술의 일부로 그것들을 포함 시키면 그 라인이 무엇을해야하는지 잘 모르는 사람들에게 혼란을 야기 할 수 있습니다.
예를 들어,
value = func(i++ * 3);
나는 이것을 할 것이다 :
value = func(i * 3);
i++;
또한 사람들이 방법 i++
과 ++i
작업 을 기억할 필요가 없으며 매우 많은 기본 설정 규칙을 적용 할 필요가 없음을 의미합니다.
++
운영자 의 실제 문제는 부작용이있는 운영자이므로 기능 프로그래밍의 원칙과 완전히 반대되는 것입니다.
" 기능적 "구현 방법 i++
은 i = i + 1
부작용없이 변수를 명시 적으로 재 할당 한 다음 사용하는 것입니다.
혼란의 가능성은 ++
값을 추가하고 변수에 다시 할당하여 두 가지 작업 을 수행 한다는 것입니다.
JSLint 친화적 루프
for (i = 0; i < 10; i += 1) {
//Do somthing
}
++ 연산자는 이전 / 다음 변수 및 개행 / 세미콜론에 대한 위치에 따라 작업 순서를 결정합니다.
var a = 1;
var b = a++;
console.log(b); // b = 1
console.log(a); // a = 2
var a = 1;
var b = ++a;
console.log(b); // b = 2
console.log(a); // a = 2
++ i와 증가 후 i ++라는 사전 증가가 있는데 차이점이 있습니다.
var i = 9;
alert(++i); //-> alerts 10
var j = 9;
alert(j++); //-> alerts 9
alert(j); //-> alerts 10 now, as expected
var k = 9;
alert((k++)); //-> still alerts 9 even with extra parentheses
참고 URL : https://stackoverflow.com/questions/3000276/the-unexpected-error-in-jslint
'development' 카테고리의 다른 글
Android Studio 3.5 리 팩터 문제 (0) | 2020.06.17 |
---|---|
HTML의 소프트 하이픈 ( (0) | 2020.06.16 |
foreach vs someList.ForEach () {} (0) | 2020.06.16 |
EJB 란 무엇이며 어떤 역할을합니까? (0) | 2020.06.16 |
WPF에서 여러 스타일을 적용하는 방법 (0) | 2020.06.16 |