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

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

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

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

[1]alert()

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

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

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

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

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

[2]console.log()

    [2.1]在打印臺(tái)輸出

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

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

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

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

原型鏈中toString()方法輸出alert()和console.log()得到不同的結(jié)果

<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>

上面的代碼輸出的結(jié)果不一樣的原因如下:

console.log() 可以打印任何類(lèi)型的數(shù)據(jù)。而 alert() 只能輸出string,如果alert輸出是對(duì)象會(huì)自動(dòng)調(diào)用 toString() 方法。如果想 console.log() 輸出的與alert相同,需要調(diào)用 toString() :

console.log(obj. toString() );

和自己寫(xiě)不寫(xiě)toString()完全沒(méi)有關(guān)系,你自己寫(xiě)的那個(gè)toStrong() 只是重寫(xiě)了對(duì)象默認(rèn)的toString()方法。

如果你沒(méi)有重寫(xiě)toString()方法時(shí),alert() 也會(huì)調(diào)用默認(rèn)的。

還是那句話(huà): console.log() 可以打印任何類(lèi)型的數(shù)據(jù),并會(huì)因?yàn)槟阕约褐貙?xiě)了toString(),而調(diào)用。如果log() 也只能打印string的話(huà),那么console 的這個(gè)log 方法就沒(méi)有存在的必要了。

主要是倆個(gè)函數(shù)所期望的數(shù)據(jù)類(lèi)型不一樣。alert()期望的數(shù)據(jù)類(lèi)型是string型的。這就是相當(dāng)于要把對(duì)象用在string語(yǔ)境中,自然就會(huì)做出相應(yīng)的轉(zhuǎn)換。console.log()顯然是可以接受任何類(lèi)型的數(shù)據(jù)。那他就不用轉(zhuǎn)換。也就是說(shuō)不用放在string語(yǔ)境中。那OBJ自然是他一開(kāi)始的數(shù)據(jù)類(lèi)型。

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

相關(guān)文章

最新評(píng)論

汨罗市| 三门县| 鄂伦春自治旗| 开封县| 平安县| 保山市| 凉城县| 财经| 湘乡市| 缙云县| 双流县| 和顺县| 革吉县| 乌拉特中旗| 丹寨县| 望谟县| 锡林浩特市| 昌邑市| 岚皋县| 怀来县| 绥滨县| 南安市| 黄石市| 云安县| 客服| 临江市| 张家港市| 修文县| 祥云县| 吉林省| 龙岩市| 会昌县| 峨眉山市| 堆龙德庆县| 靖州| 太原市| 阜城县| 阜新| 正宁县| 东乌| 兴义市|