jquery中沒有eval執行函數;eval用於計算JavaScript字串,是JavaScript中的函數,該函數可以作為腳本程式碼來執行,若參數是一個表達式,eval函數會執行表達式,若參數是JavaScript語句,則函數會執行指定的語句,語法為「eval(字串)」。
本文操作環境:windows10系統、jquery3.6.0版、Dell G3電腦。
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'),它會傳回局部變數的值。
如果它呼叫eval('a=1'),它會改變局部變數的值。
如果函數呼叫了eval('var b=2;'),則宣告了一個新的局部變數b
相關教學推薦:jQuery影片教學
#以上是jquery中有eval執行函數嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!