alert():
1.有阻塞作用,不點擊確定,後續代碼無法繼續執行;
2.alert()只能輸出string,如果alert輸出的是對象會自動調用toString()方法;
alert( [a,b,c] ); //a,b,c
3.alert不支持多個參數的寫法,只能輸出第一個值;
alert(1,2,3); //1
console.log():
1.在打印臺輸出,可以打印任何類型的數據
console.log([a,b,c]); //[a,b,c]
2.支持多個參數的寫法
console.log(1,2,3) // 1 2 3
關於原型鏈中的toString()輸出問題:
let e1= {
n : 1,
valueOf : function(){
return this.n + 4
},
toString : function(){
return this.valueOf() + 5
}
}
運行結果:
console.log('e1==0 : ', e1==0)
console.log('+e1 : ', +e1)
console.log('e1 : ', e1)
console.log('e1.toString() : ', e1.toString())
alert(e1) //10
總結:
1.console.log()可以打印任何類型的數據。而 alert() 只能輸出string。
2.如果alert輸出是對象會自動調用 toString() 方法。
3.如果想 console.log() 輸出的與alert相同,需要調用 toString() 。