>웹 프론트엔드 >JS 튜토리얼 >js 암시적 전역 변수_javascript 기술로 인해 발생한 버그 샘플 코드

js 암시적 전역 변수_javascript 기술로 인해 발생한 버그 샘플 코드

WBOY
WBOY원래의
2016-05-16 16:51:381422검색

js 코드 일부에서 버그가 발생했는데, 이는 중간에 암시적인 전역 변수로 인해 발생했습니다.
코드 양이 많아서 Google Chrome의 js 디버거를 통해 문제를 발견했습니다.
그런데. , 내 컴퓨터에는 fiefox를 사용할 수 없습니다. 작년부터 여러 번 시도했지만 모두 실패했습니다.
하지만 Google의 디버깅도 매우 유용합니다.
간략화된 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

$(function() {
var pageNo = 2;//이 매개변수는
var pageSize = 10;
test();
paginate(pageNo,pageSize);//왜냐하면 test() 메서드는 pageNo를 재정의하여 pageNo가 항상 1이 되도록 합니다.
})
function test(){
pageNo = 1;//전역 변수, 이전 pageNo 덮어쓰기, var 작성과 동일 js 상단의 pageNo = 1
//여기를 var로 변경 pageNo = 1; 그게 다입니다
//do,,,
}
function paginate(pageNo,pageSize){
window.location.href = "user_list.action ?pageNo=" pageNo "&pageSize=" pageSize;
}

js에서는 모든 변수를 var로 선언하는 것이 좋습니다. js에는 블록 수준 범위가 없기 때문에 변수를 맨 위에 쓸 수 있습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.