第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個代碼為什么會彈出警告框?

這個代碼為什么會彈出警告框?

絕地無雙 2018-09-06 10:09:45
-{toString:[].join,length:1,0:'javascript:alert(123)',valueOf:location}(c) http://www.freebuf.com/articl...
查看完整描述

1 回答

?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

你的文章寫的很清楚了,多理解理解吧。另外這是老IE的BUG,其他瀏覽器沒這個BUG,不用太糾結(jié)。

接著說下原理吧。

首先你要理解,+和-會把后面的表達式轉(zhuǎn)換為數(shù)字,如果后面是一個對象,則調(diào)用對象的valueOf方法,如果valueOf方法的值或者返回值不是一個數(shù)字,則調(diào)用toString方法作為返回值(如果這個返回值是數(shù)字或者可以轉(zhuǎn)成數(shù)字的字符串,結(jié)果就是數(shù)字,否則是NaN)。一般的瀏覽器到這也就結(jié)束了。

如文章里面所講,在含有缺陷的IE里面,得到這個返回值后,他還會去把這個返回值傳給valueOf的內(nèi)容去調(diào)用,這里valueOf的內(nèi)容就是location,所以實際的調(diào)用就和上圖一樣。而這種調(diào)用居然能執(zhí)行,確實是BUG,不過這是IE,看開點就好。

題外話:好久沒打開過這玩意兒了。。。


查看完整回答
反對 回復 2018-10-16
  • 1 回答
  • 0 關(guān)注
  • 729 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號