日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

盤點JavaScript中Eval函數的使用方法

來源: 責編: 時間:2024-07-11 17:31:16 772觀看
導讀一、前言內建函數 eval 函數允許執行一個代碼字符串。語法 :let result = eval(code);例 :let code = 'alert("Hello")';eval(code); // Hello運行結果:代碼字符串可能會比較長,包含換行符、函數聲明和變量等。eval 的結

一、前言

內建函數 eval 函數允許執行一個代碼字符串。eT928資訊網——每日最新資訊28at.com

語法 :

let result = eval(code);

例 :eT928資訊網——每日最新資訊28at.com

let code = 'alert("Hello")';eval(code); // Hello

運行結果:eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

代碼字符串可能會比較長,包含換行符、函數聲明和變量等。eT928資訊網——每日最新資訊28at.com

eval 的結果是最后一條語句的結果。eT928資訊網——每日最新資訊28at.com

例:eT928資訊網——每日最新資訊28at.com

let value = eval('1+1');alert(value); // 2let value = eval('let i = 0; ++i');alert(value); // 1

運行結果:eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

eval 內的代碼在當前詞法環境(lexical environment)中執行,因此它能訪問外部變量:eT928資訊網——每日最新資訊28at.com

let a = 1;function f() {   let a = 2;  eval('alert(a)');   // 2}  f();

運行結果:eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

它也可以更改外部變量:eT928資訊網——每日最新資訊28at.com

let x = 5;eval("x = 10");alert(x); // 10,值被更改了

運行結果:eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

嚴格模式下,eval 有屬于自己的詞法環境。因此不能從外部訪問在 eval 中聲明的函數和變量:eT928資訊網——每日最新資訊28at.com

// 提示:本教程所有可運行的示例都默認啟用了嚴格模式 'use strict'eval("let x = 5; function f() {}");alert(typeof x); // undefined(沒有這個變量)// 函數 f 也不可從外部進行訪問

如果不啟用嚴格模式,eval 沒有屬于自己的詞法環境,因此可以從外部訪問變量 x 和函數 f。eT928資訊網——每日最新資訊28at.com

二、案例

Eval-計算器

創建一個計算器,提示用戶輸入一個算術表達式,并返回其計算結果。eT928資訊網——每日最新資訊28at.com

讓使用 eval 來計算數學表達式:eT928資訊網——每日最新資訊28at.com

let expr = prompt("Type an arithmetic expression?", '23+2');alert( eval(expr) );

需要檢查表達式是否正確。只需要計算并返回結果。用戶可以輸入任意文本或代碼。eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

運行結果:eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

三、使用 “eval”

在 eval 中使用外部局部變量也被認為是一個壞的編程習慣,因為這會使代碼維護變得更加困難。eT928資訊網——每日最新資訊28at.com

有兩種方法可以完全避免此類問題。eT928資訊網——每日最新資訊28at.com

如果 /eval/ 中的代碼,+沒有使用外部變量,請以 window./eval(...) 的形式調用 /eval/。eT928資訊網——每日最新資訊28at.com

通過這種方式,該代碼便會在全局作用域內執行:eT928資訊網——每日最新資訊28at.com

let x = 1;{  let x = 5;  window.eval('alert(x)'); // 1(全局變量)}

運行結果:eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

如果 /eval/ 中的代碼需要訪問局部變量,可以使用 new Function 替代 /eval/,并將它們作為參數傳遞:eT928資訊網——每日最新資訊28at.com

let f = new Function('a', 'alert(a)');f(5); // 5

運行結果:eT928資訊網——每日最新資訊28at.com

eT928資訊網——每日最新資訊28at.com

注:eT928資訊網——每日最新資訊28at.com

new Function 從字符串創建一個函數,并且也是在全局作用域中的。所以它無法訪問局部變量。eT928資訊網——每日最新資訊28at.com

四、總結

本文基于JavaScript基礎,介紹了 Eval函數的使用。調用 eval(code) 會運行代碼字符串,并返回最后一條語句的結果。eT928資訊網——每日最新資訊28at.com

要在全局作用域中 eval 代碼,可以使用 window.eval(code) 進行替代。eT928資訊網——每日最新資訊28at.com

通過案例的分析,進行詳細的講解。在實際應用中需要注意的點,遇到的難點,提供了詳細的解決方法。使用JavaScript語言,能夠讓讀者更好的理解。代碼很簡單,希望能夠幫助讀者更好的學習。eT928資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-100461-0.html盤點JavaScript中Eval函數的使用方法

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python 數據類型(如整數、浮點數、字符串、列表、元組、字典)

下一篇: 一文帶您理解Python的map/filter/reduce

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
在线观看欧美| 欧美精品粉嫩高潮一区二区| 亚洲自拍电影| 亚洲免费在线| 久久爱www| 欧美成ee人免费视频| 亚洲国产日本| 亚洲人成在线播放网站岛国| 在线亚洲观看| 久久精品视频在线| 欧美日本不卡视频| 国产精品永久免费视频| 尤物在线观看一区| 在线亚洲伦理| 欧美在线日韩在线| 欧美暴力喷水在线| 国产精品久久久久一区二区三区| 国产一区二区视频在线观看| 亚洲精品在线观看免费| 亚洲一区二区三区精品视频| 久久在线91| 国产精品久久久久国产精品日日| 激情小说亚洲一区| 亚洲午夜在线观看视频在线| 久久米奇亚洲| 国产精品久久999| 亚洲第一网站| 午夜国产欧美理论在线播放| 免费欧美高清视频| 国产美女扒开尿口久久久| 91久久在线视频| 欧美一区在线看| 欧美日韩亚洲在线| 在线观看欧美日韩国产| 亚洲视频在线观看一区| 久久天天躁狠狠躁夜夜爽蜜月| 欧美性天天影院| 亚洲国产精品久久久| 午夜精品久久久久久久久久久久 | 欧美午夜精品久久久久久浪潮| 国产一区91| 亚洲午夜免费视频| 免费日韩av| 国产主播精品在线| 一区二区三区色| 欧美成人精品激情在线观看| 国产视频在线观看一区二区三区 | 久久久噜噜噜久久| 国产精品乱码久久久久久| 最新亚洲电影| 久久男人av资源网站| 国产乱肥老妇国产一区二| 一本久道久久综合婷婷鲸鱼| 蜜桃av久久久亚洲精品| 国产原创一区二区| 亚洲欧美日韩中文视频| 欧美日韩亚洲视频| 91久久久久| 麻豆久久精品| 韩国成人精品a∨在线观看| 亚洲欧美经典视频| 欧美日韩视频一区二区| 亚洲精品久久久久久久久久久| 久久人人97超碰国产公开结果 | 女人天堂亚洲aⅴ在线观看| 国内精品国产成人| 欧美伊人久久久久久午夜久久久久| 国产精品99一区| 99亚洲一区二区| 欧美激情综合亚洲一二区| 亚洲福利久久| 美女被久久久| 伊人狠狠色丁香综合尤物| 久久精品系列| 国内精品视频久久| 久久久久.com| 韩国在线视频一区| 久久久精品五月天| 尤物在线观看一区| 免费在线播放第一区高清av| 在线精品福利| 鲁大师成人一区二区三区| 一区二区在线视频播放| 久久青草福利网站| 欧美中文字幕在线观看| 国产一区二区精品在线观看| 欧美一区三区三区高中清蜜桃 | 在线观看欧美精品| 欧美成人精品在线播放| 亚洲黄网站黄| 欧美精品一区二区三区久久久竹菊 | 一区二区av在线| 欧美午夜一区二区| 亚洲男人的天堂在线| 国产精品免费一区二区三区在线观看 | 国产精品一二三四区| 欧美伊人久久大香线蕉综合69| 韩国av一区二区三区四区| 看片网站欧美日韩| 亚洲精品一区二区三区蜜桃久| 欧美日韩国产成人| 亚洲午夜精品久久久久久浪潮 | 亚洲免费福利视频| 欧美亚洲成人网| 午夜欧美不卡精品aaaaa| 久久色在线观看| 在线观看91精品国产入口| 亚洲精品欧美在线| 欧美日韩色综合| 亚洲一区三区电影在线观看| 国产精品系列在线| 久久久最新网址| 亚洲精品国产视频| 国产精品大片| 欧美在线视频二区| 亚洲大胆人体在线| 欧美人体xx| 午夜精品久久久久久| 激情五月婷婷综合| 欧美精品在线免费观看| 亚洲字幕一区二区| 极品中文字幕一区| 欧美激情中文不卡| 亚洲欧美三级伦理| 在线不卡免费欧美| 欧美日韩在线影院| 久久成人精品| 亚洲精品一区中文| 国产精品影视天天线| 久久最新视频| 亚洲视频一区二区免费在线观看| 国产无一区二区| 欧美极品在线视频| 欧美亚洲一区二区在线观看| 亚洲二区视频| 国产精品综合不卡av| 欧美电影免费| 欧美一区二区啪啪| 亚洲精品欧美日韩| 国外成人网址| 欧美日韩亚洲一区二区三区在线观看| 欧美亚洲视频一区二区| 亚洲精品一二三| 国产伦理精品不卡| 欧美国产三级| 欧美中文字幕不卡| 99re6热只有精品免费观看| 国产性色一区二区| 欧美日韩视频第一区| 久久久久久久久一区二区| 在线亚洲免费| 亚洲国产精品激情在线观看| 国产精品综合不卡av| 欧美激情一区二区三区在线| 久久精品国产清高在天天线| 在线一区二区三区四区五区| 在线观看日产精品| 国产麻豆综合| 欧美日韩中文字幕| 你懂的国产精品| 欧美在线精品一区| 中文日韩欧美| 亚洲欧洲一区| 精品成人在线观看| 国产麻豆成人精品| 欧美日韩在线不卡一区| 欧美gay视频| 久久人人97超碰精品888| 午夜国产精品视频免费体验区| 日韩一区二区福利| 亚洲国产欧美一区二区三区同亚洲 | 亚洲国产一区在线观看| 国产欧美日韩精品专区| 欧美日韩精品在线| 欧美www视频| 久久久福利视频| 午夜国产不卡在线观看视频| 日韩亚洲欧美在线观看| 亚洲国产精品一区二区久| 国产亚洲一区二区三区在线播放| 国产精品福利在线观看网址| 欧美精品99| 欧美成人综合网站| 老司机免费视频久久| 久久久亚洲成人| 久久国产精品毛片| 欧美在线欧美在线| 欧美专区在线观看| 欧美在线国产| 欧美影院午夜播放| 欧美一级免费视频| 羞羞答答国产精品www一本| 亚洲一区综合| 亚洲免费一级电影| 亚洲欧美日韩天堂一区二区| 亚洲综合电影| 香蕉亚洲视频| 欧美在线一级视频| 久久久国产一区二区三区| 久久久噜噜噜久久人人看| 久久一区激情| 欧美成人高清| 欧美片第1页综合| 欧美日韩视频在线一区二区 |