最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡介alert()與console.log()的不同

 更新時間:2015年08月26日 10:02:43   作者:小火柴的藍色理想  
alert()和console.log()在程序中經(jīng)常會用到,大家知道他們的區(qū)別嗎,接下來,通過本文給大家介紹alert()與console.log()的不同,需要的朋友可以參考下

簡單的說alert 是彈出提示而console.log是在調(diào)試工具里打日志,下面具體給大家列出alert()與console.log()的不同點,

[1]alert()

    [1.1]有阻塞作用,不點擊確定,后續(xù)代碼無法繼續(xù)執(zhí)行

    [1.2]alert()只能輸出string,如果alert輸出的是對象會自動調(diào)用toString()方法

        e.g. alert([1,2,3]);//'1,2,3'

    [1.3]alert不支持多個參數(shù)的寫法,只能輸出第一個值

        e.g. alert(1,2,3);//1

[2]console.log()

    [2.1]在打印臺輸出

    [2.2]可以打印任何類型的數(shù)據(jù)

        e.g. console.log([1,2,3]);//[1,2,3]

    [2.3]支持多個參數(shù)的寫法

        e.g. 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() 可以打印任何類型的數(shù)據(jù)。而 alert() 只能輸出string,如果alert輸出是對象會自動調(diào)用 toString() 方法。如果想 console.log() 輸出的與alert相同,需要調(diào)用 toString() :

console.log(obj. toString() );

和自己寫不寫toString()完全沒有關系,你自己寫的那個toStrong() 只是重寫了對象默認的toString()方法。

如果你沒有重寫toString()方法時,alert() 也會調(diào)用默認的。

還是那句話: console.log() 可以打印任何類型的數(shù)據(jù),并會因為你自己重寫了toString(),而調(diào)用。如果log() 也只能打印string的話,那么console 的這個log 方法就沒有存在的必要了。

主要是倆個函數(shù)所期望的數(shù)據(jù)類型不一樣。alert()期望的數(shù)據(jù)類型是string型的。這就是相當于要把對象用在string語境中,自然就會做出相應的轉換。console.log()顯然是可以接受任何類型的數(shù)據(jù)。那他就不用轉換。也就是說不用放在string語境中。那OBJ自然是他一開始的數(shù)據(jù)類型。

以上內(nèi)容列出了alert()與console.log()的不同,有不同想法的朋友,歡迎提出,分享給大家,共同學習進步。

相關文章

最新評論

奉新县| 如东县| 台中县| 西城区| 翼城县| 辛集市| 吉林省| 灵寿县| 沅陵县| 丽江市| 汕头市| 潜山县| 东辽县| 遂宁市| 舞钢市| 环江| 永丰县| 崇仁县| 安泽县| 义马市| 浦城县| 绵阳市| 阜南县| 平泉县| 电白县| 航空| 武定县| 嵊泗县| 巴中市| 兴安盟| 蒲江县| 林周县| 通辽市| 祁门县| 南靖县| 赣州市| 永城市| 宁陵县| 永康市| 永济市| 和龙市|