首頁 >web前端 >前端問答 >jquery中有eval執行函數嗎

jquery中有eval執行函數嗎

WBOY
WBOY原創
2022-09-06 16:35:391752瀏覽

jquery中沒有eval執行函數;eval用於計算JavaScript字串,是JavaScript中的函數,該函數可以作為腳本程式碼來執行,若參數是一個表達式,eval函數會執行表達式,若參數是JavaScript語句,則函數會執行指定的語句,語法為「eval(字串)」。

jquery中有eval執行函數嗎

本文操作環境:windows10系統、jquery3.6.0版、Dell G3電腦。

jquery中沒有eval執行函數

eval() 定義

#eval() 函數用於計算或執行參數。如果參數是表達式,則 eval() 計算表達式。如果參數是一個或多個JavaScript 語句,則eval() 執行這些語句

表達式和js語句

js表達式:一個表達式會產生一個值,例如

  • a

  • 1 1

  • #demo(1)

  • x === y ? 'a' : 'b'、

js語句:js程式碼都是js語句(當然也包括js表達式),if判斷和for循環都算js語句

1 . if(){}

2 . for(){}

eval()使用

  • JavaScript可以透過全域函數eval()解釋來執行由JavaScript原始碼組成的字串

  • 它會把字串當成JavaScript程式碼進行編譯,如果編譯失敗則拋出一個語法錯誤異常

  • 如果傳遞給eval() 的Javascript 程式碼產生了一個異常,eval() 就會把該異常傳遞給呼叫者。

  • 傳遞給eval()的字串必須在語法上行的通,不能透過eval()任意貼上程式碼片段,例如:eval('return;')是沒有意義的,因為return只有在函數中才起到作用

  • 如果編譯成功,則開始執行這一段程式碼,並傳回字串中的最後一個表達式會或語句的值,如果最後一個表達式或語句沒有值,則最終會傳回undefined。

  • eval()中的字串執行時的上下文環境和呼叫函數的上下文環境是一樣的

參數

eval()只有一個參數是string類型的JavaScript 運算式、變數、語句或語句序列。

如果傳入的參數不是字串,它就直接回傳這個函數。

作用域

eval()執行JavaScript程式碼或定義變數/函數和局部作用域中的程式碼一致。如果函數定義了一個局部變數b,然後呼叫eval('b'),它會傳回局部變數的值。

jquery中有eval執行函數嗎

如果它呼叫eval('a=1'),它會改變局部變數的值。

jquery中有eval執行函數嗎

如果函數呼叫了eval('var b=2;'),則宣告了一個新的局部變數b

jquery中有eval執行函數嗎

相關教學推薦:jQuery影片教學

#

以上是jquery中有eval執行函數嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn