8 자리 숫자로 된 목록에 항목이 있으며 대부분 숫자가 0으로 시작합니다. 함수를 호출하고 고유 한 번호를 전달하려는 경우 거의 항상 "00"으로 시작하면 임의의 숫자가 나타나는 것처럼 보입니다. 나는 아직도 어떻게 또는 왜 일어나고 있는지 모른다. 여기에 JSFiddle의 예가 나와 있습니다.0으로 시작하는 함수 whith 인수를 호출 할 때 임의의 숫자 얻기
HTML :
<div id="working">
<input type="button" onclick="sample(00119001)" value="00119001" /><br/>
<input type="button" onclick="sample(00113008)" value="00113008" /><br/>
<input type="button" onclick="sample(68745696)" value="68745696" /><br/>
<input type="button" onclick="sample(11112222)" value="11112222" /><br/>
</div>
<div id="notworking">
<input type="button" onclick="sample(00113004)" value="00113004" /><br/>
<input type="button" onclick="sample(00113003)" value="00113003" /><br/>
<input type="button" onclick="sample(00106002)" value="00106002" /><br/>
<input type="button" onclick="sample(00120003)" value="00120003" /><br/>
</div>
<div id="show"></div>
JS :하지만 일부, 내가 전화를 인수에 사용 된 함수에서 같은 번호를 기대 :
function sample(a) {
var b = "0000000"+a;
b = b.substr(b.length-8);
document.getElementById("show").innerHTML="Input: "+a+" | Output: "+b;
}
문제를 명확히하기 위해 이유는, 내가 완전히 다른 번호를 얻는 몇 번이다.
그 중 하나가 트릭을 만들었습니다. 감사합니다 :) http://jsfiddle.net/agapetos/EbpbX/4/ – agapetos
작동중인 4 번째 사례는 무엇입니까? 1과 2 만 있습니다 (11112222). 첫 번째 문자가 0이 아닌 문자가 8 자리 숫자로 조합 되었기 때문입니까? – agapetos
0으로 시작하지 않는 숫자 리터럴은 십진수로 해석됩니다. 이것은 "보통"해석입니다. 숫자 리터럴을 8 진수로 해석하지 않으려면 0으로 시작하지 마십시오. –