国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JavaScript eval()函數(shù)定義及使用方法詳解

瀏覽:127日期:2023-10-22 08:11:58

定義和用法

eval() 函數(shù)可計(jì)算某個(gè)字符串,并執(zhí)行其中的的 JavaScript 代碼。

語(yǔ)法

eval(string)

返回值

通過(guò)計(jì)算 string 得到的值(如果有的話)。

說(shuō)明

該方法只接受原始字符串作為參數(shù),如果 string 參數(shù)不是原始字符串,那么該方法將不作任何改變地返回。因此請(qǐng)不要為 eval() 函數(shù)傳遞 String 對(duì)象來(lái)作為參數(shù)。

如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個(gè)屬性,并通過(guò)該屬性調(diào)用它,則 ECMAScript 實(shí)現(xiàn)允許拋出一個(gè) EvalError 異常。

拋出

如果參數(shù)中沒(méi)有合法的表達(dá)式和語(yǔ)句,則拋出 SyntaxError 異常。

如果非法調(diào)用 eval(),則拋出 EvalError 異常。

如果傳遞給 eval() 的 Javascript 代碼生成了一個(gè)異常,eval() 將把該異常傳遞給調(diào)用者。

舉例

以下代碼可以將'alert(’Hello world’)'字符串作為參數(shù),轉(zhuǎn)化成javaScprit代碼進(jìn)行執(zhí)行,瀏覽器彈出提示框輸出’Hello world’

<script type='text/javascript'> var a = 'alert(’Hello world’)' eval(a)</script>

eval()函數(shù)非常強(qiáng)大,我認(rèn)為它在一定程度上體現(xiàn)出了javaScript這種動(dòng)態(tài)語(yǔ)言的優(yōu)點(diǎn)。

用這個(gè)函數(shù),開(kāi)發(fā)者可以在不改變第三方前端javaScript庫(kù)源碼的基礎(chǔ)上,增加功能,或者修改功能,使得程序變得更為靈活。

比如我正在開(kāi)發(fā)一個(gè)動(dòng)態(tài)表格的小系統(tǒng),后臺(tái)程序?qū)⒈碇械乃凶侄?,以及所有?shù)據(jù)傳遞給前端,前端javaScript代碼接收到數(shù)據(jù)以后,根據(jù)字段自動(dòng)生成表格。但我正在用第三方(layui)js框架,框架里渲染表格的代碼必須是固定寫(xiě)好的,不符合動(dòng)態(tài)生成需求,這個(gè)時(shí)候,可以使用eval()函數(shù)。

下面簡(jiǎn)單看一下layui框架表格部分的使用說(shuō)明

JavaScript eval()函數(shù)定義及使用方法詳解

表頭部分需要在javaScript代碼中固定對(duì)應(yīng)寫(xiě)好,接收到指定數(shù)據(jù)接口的數(shù)據(jù)再生成表格。

如果每次需要的表格的字段都不同,列數(shù)都不一樣。那么就可用eval()函數(shù)拼接代碼實(shí)現(xiàn)了。大致實(shí)現(xiàn)思路是,ajax請(qǐng)求到表頭的相關(guān)數(shù)據(jù),javaScript代碼根據(jù)這些數(shù)據(jù)自動(dòng)生成符合框架要求的代碼語(yǔ)句,然后傳遞到eval()函數(shù)中直接調(diào)用就可以了。非常的靈活與方便。

比如以下偽代碼

<script> var code1 = 'layui.use(’table’, function(){var table = layui.table;table.render({elem: ’#demo’,height: 312,url: ’/demo/table/user/’,page: true,cols: [[{' // ...這里根據(jù)接收到的表各個(gè)字段信息自動(dòng)拼接代碼,形成字符串 code2 var code2 = 'field: ’id’, title: ’ID’, width:80, sort: true, fixed: ’left’},{field: ’username’, title: ’用戶(hù)名’, width:80},{field: ’sex’, title: ’性別’, width:80, sort: true},{field: ’city’, title: ’城市’, width:80},{field: ’sign’, title: ’簽名’, width: 80},{field: ’experience’, title: ’積分’, width: 80, sort: true},{field: ’score’, title: ’評(píng)分’, width: 80, sort: true},{field: ’classify’, title: ’職業(yè)’, width: 80},{field: ’wealth’, title: ’財(cái)富’, width: 135, sort: false' var code3 = '}]]});});' var code = code1 + code2 + code3 eval(code)</script>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 91进入蜜桃臀在线播放 | 亚洲国产二区三区 | 国产精品国产三级国产an不卡 | 97国产影院 | 久久在线| 国产a网站| 亚洲国产欧美日韩 | 一级毛片在线免费视频 | 色偷偷亚洲精品一区 | 欧美一级aa天码毛片 | 日韩精品一区二区三区四区 | 国产夫妻视频 | 亚洲欧美久久精品1区2区 | 91情侣高清精品国产 | 国产真人毛片一级视频 | 亚洲精品专区一区二区三区 | 在线观看中文字幕亚洲 | 2020亚洲男人天堂 | 杨幂丝袜国产福利视频 | 国产午夜亚洲精品第一区 | 99久久国产综合精品1尤物 | 成人一级片 | 一区二区三区在线观看免费 | 在线视频99 | 精品久久久久久久久免费影院 | 国产成人 免费观看 | 国产亚洲欧美日韩国产片 | 成人欧美一级毛片免费观看 | 亚洲欧美一区二区三区孕妇 | 最新主播福利视频在线观看 | 成人爽爽大片在线观看 | 成在线人永久免费播放视频 | 美女视频一区二区三区 | 国产日产高清欧美一区二区三区 | 美女毛片在线观看 | 欧美高清成人 | 黄网址在线看 | 毛片手机在线观看 | 国产精品久久久久网站 | 国产精品久久久亚洲 | 成人a影片在线观看 |