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

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

執(zhí)行eval('({"ok":"true"})')返回了{ok: "true"},什么原理?

執(zhí)行eval('({"ok":"true"})')返回了{ok: "true"},什么原理?

海綿寶寶撒 2018-09-24 16:14:56
如下圖是在Chrome中得到的:問題:首先,str代表的是一個json字符串,這點應該是沒疑問的,然后我運行eval('({"ok":"true"})')就返回了{ok: "true"},這里面是怎么實現(xiàn)的?是去看別人寫的項目的源碼中看到的,不明所以,請賜教~
查看完整描述

1 回答

?
絕地無雙

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

eval函數(shù)接受字符串,然后把這個字符串當作js代碼去運行,返回運行的結(jié)果。

eval('({"ok":"true"})')

相當于運行

({"ok":"true"})

返回對象{ok: "true"}。

個人覺得需要注意的點是兩邊為什么要加括號?
因為{}不僅可以用來聲明對象,還表示塊級作用域,
如果兩邊不加括號,會把{}當成塊級作用域解析,就會報語法錯誤;
加上括號,會把{}當作對象聲明處理,所以就會生成一個新的對象,不會報語法錯誤。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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