인터넷에 추가 된 Vs 연결 질문이 많이 있지만, 내가 왜 그런 행동을하는지 확신 할 수 없습니다. 명백한 문자열을 "추가"하려고하지 않고 모든 값에 parseInt
및 parseFloat
을 사용하려고 시도했습니다. 숫자 값 표현을 포함하는 data-page
특성에서 값을 가져와야합니다 (암시 적 문자열로 인식 함). data-page
속성에서 값을 얻는 한, 변수에 대한 추가를 수행 할 수 없습니다. 하드 코드 된 1
으로 바꾸면 모든 것이 잘됩니다. 값은 항상 정수 여야합니다. 그러나 동일한 동작이 있는지 확인하려면 parseFloat
을 시도했습니다. 나는 그랬다.비정상적인 JavaScript 추가 대 연결 동작
일부 샘플 코드는 다음과 같습니다. $("#pagination").attr('data-page').trim()
이 1
으로 평가된다고 가정하십시오.
//Tried parseFloat
//datapage = 1 //This works as expected
dataPage = parseFloat($("#pagination").attr('data-page').trim()); //This does not work as expected
curPage = (parseFloat(dataPage) + parseFloat(1));
console.log(curPage); //Outputs '11' instead of '2'
//Tried parseInt
//datapage = 1 //This works as expected
dataPage = parseInt($("#pagination").attr('data-page').trim());
curPage = (parseInt(dataPage) + parseInt(1));
console.log(curPage); //Outputs '11' instead of '2'
HTML을 게시 할 수도 있습니까? 두 가지 예제 모두 나를 잘 처리합니다. –
나는 ** ** parseFloat와'parseInt' 코드가 ** 작동하지 않는다고 생각합니다. 어쨌든'parseFloat'와'parseInt'를 두 번 호출하는 이유는 어떨까요? –
@MarioAlexandroSantini 나는 내가 얻고 있다고 생각하는 것을 얻기 위해 중복을 위해 parseFloat/parseInt를 두 번 호출한다. 일반적으로 프로덕션 코드에서는 그렇게하지 않습니다. –