eval 与 Function
生活随笔
收集整理的這篇文章主要介紹了
eval 与 Function
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
var json='{"name":"lee","age":"15"}'
function test () {
var json='{"name":"lee","age":"15"}'eval('('+ json+')');
str=window.eval('('+ json+')');} 具體的對象 求表達式的值 執行語句 求值 處理日期
上述兩種情況eval的作用域不同
eval 可將字符串解析為:
還記得json的格式嗎?以"{"開頭對吧,在此那么你還記的語句塊的格式嗎?也是以"{"開頭是吧,那么問題就來了,eval解析時會把我們的json當成語句塊,而且這個所謂的語句塊里還有":",那么極有可能會報錯
表達式與語句
表達式:表達式,是由數字、算符、數字分組符號(括號)、自由變量和約束變量等以能求得數值的有意義排列方法所得的組合。約束變量在表達式中已被指定數值,而自由變量則可以在表達式之外另行指定數值。
語句:JavaScript 語句向瀏覽器發出的命令。語句的作用是告訴瀏覽器該做什么。通常我們在每條可執行的語句結尾添加分號以分隔 JavaScript 語句,多條語句構成語句塊。
有些時候,表達式和語句會看不出區別,但其作用做不同,即有一些表達式會出現在語句的上下文中,為了解決歧義,JavaScript語法禁止表達式以大括號"{"或關鍵字"function"開頭,如果要以"{"開頭的表達式能被正確解析,需要把這個"{}"包裹的內容放在"()"中,確保表達式被解析在表達式上下文中,如果表達式被解析在表達式上下文中,此時json解析后會轉換成對象類型,這就是我們想要的結果。
轉載于:https://www.cnblogs.com/chenxijywc/p/5434990.html
總結
以上是生活随笔為你收集整理的eval 与 Function的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新买u盘被写保护怎么解除 解除U盘写保护
- 下一篇: 电脑usb驱动怎么删除吗 如何彻底删除电