>  기사  >  웹 프론트엔드  >  Alert()와 console.log()_javascript 기술의 차이점 소개

Alert()와 console.log()_javascript 기술의 차이점 소개

WBOY
WBOY원래의
2016-05-16 15:42:362360검색

간단히 말하면, 경고는 팝업 프롬프트이고, console.log는 디버깅 도구의 로그입니다. 다음은 경고()와 콘솔.로그()의 차이점을 자세히 설명한 것입니다.

[1]경고()

[1.1] 차단 효과가 있습니다. 확인을 클릭하지 않으면 후속 코드를 계속 실행할 수 없습니다.

[1.2] 경고()는 문자열만 출력할 수 있습니다. 경고 출력이 객체인 경우 toString() 메서드가 자동으로 호출됩니다.

예: 경고([1,2,3]);//'1,2,3'

[1.3] 경고는 여러 매개변수 쓰기를 지원하지 않으며 첫 번째 값만 출력할 수 있습니다

예: 경고(1,2,3);//1

[2]console.log()

[2.1] 인쇄소에서 출력

[2.2] 모든 종류의 데이터를 인쇄할 수 있습니다

예: console.log([1,2,3]);//[1,2,3]

[2.3] 다중 매개변수 쓰기 지원

예: console.log(1,2,3)// 1 2 3

프로토타입 체인의 toString() 메소드는 Alert() 및 console.log()를 출력하고 다른 결과를 얻습니다

<script type="text/javascript">
var a = [1,2,3];
alert(a); //1,2,3
Array.prototype.toString = function(){
  return 'str';
}
alert(a); //str
</script>

<script type="text/javascript">
var a = [1,2,3];
console.log(a); //[1,2,3]
Array.prototype.toString = function(){
  return 'str';
}
console.log(a); //[1,2,3]
</script>

위 코드에서 서로 다른 결과가 출력되는 이유는 다음과 같습니다.

console.log()는 모든 유형의 데이터를 인쇄할 수 있습니다. 그리고 Alert()는 문자열만 출력할 수 있습니다. 경고 출력이 객체인 경우 toString() 메서드가 자동으로 호출됩니다. console.log()의 출력을 경고와 동일하게 하려면 toString():

을 호출해야 합니다.

console.log(obj.toString() );

toString()을 작성하는지 여부와는 아무런 관련이 없습니다. 직접 작성하는 toString()은 객체의 기본 toString() 메서드를 재정의할 뿐입니다.

toString() 메서드를 재정의하지 않으면 Alert()는 기본 메서드도 호출합니다.

여전히 같은 문장: console.log()는 모든 유형의 데이터를 인쇄할 수 있으며 toString()을 직접 재정의했기 때문에 호출됩니다. log()가 문자열만 인쇄할 수 있다면 콘솔의 log 메소드가 필요하지 않습니다.

주된 이유는 두 함수에서 기대하는 데이터 유형이 다르기 때문입니다. Alert()에서 예상되는 데이터 유형은 문자열입니다. 이는 문자열 컨텍스트에서 개체를 사용하는 것과 동일하며 해당 변환이 자연스럽게 이루어집니다. console.log()는 분명히 모든 유형의 데이터를 허용합니다. 그러면 그는 전환할 필요가 없습니다. 즉, 문자열 컨텍스트에 배치할 필요가 없습니다. 그러면 당연히 OBJ가 그의 초기 데이터 유형이 됩니다.

위 내용은 Alert()와 console.log()의 차이점을 나열한 것입니다. 서로 다른 아이디어를 가진 친구들이 제안하고, 모두와 공유하고, 함께 배우고 발전할 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.