亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

javascript中eval函數用法分析

2024-05-06 16:18:45
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了javascript中eval函數用法,實例分析了javascript中eval函數的使用技巧,非常具有實用價值,需要的朋友可以參考下

本文實例分析了javascript中eval函數用法。分享給大家供大家參考。具體分析如下:

eval()只有一個參數,如果傳入的參數不是字符串,則直接返回這個參數。否則會將字符串當成js代碼進行編譯,如果編譯失敗則拋出語法錯誤(SyntaxError)異常。如果編譯成功則開始執行這段代碼,并返回字符串中的最后一個表達式或語句的值;如果最后一個表達式或語句沒有值,則最終返回undefined。如果字符串拋出異常,則該異常將把該調用傳遞給eval();

eval()最為重要的是,它使用了調用它的變量作用域環境,即它查找變量的值和定義新變量和函數的操作和局部作用域的代碼完全一樣。

 

 
  1. eval("var x = 100"); 
  2. eval("var y = 11"); 
  3. console.log(x * y); //x * y == 1100 
  4. eval("function foo(x){return Math.pow(x,x);}"); 
  5. console.log(foo(5)); // 25 

eval字符串執行時的上下文環境和調用函數的上下文環境是一樣的,這不能使其作為函數的一部分來運行:

 

 
  1. var foo = function(a){ 
  2. eval(a); 
  3. }; 
  4. foo("return;"); 

以上代碼因為執行eval(a)的上下文是全局的,在全局上下文中使用return會拋出語法錯誤:return not in function.

eval()具有修改局部變量的能力,這對于js優化器來說是一個很大的問題。為了讓js解釋器實現更加簡化,ECMAScript3標準規定了任何解釋器都不允許對eval()賦予別名,如果eval()函數通過別名調用會拋出一個EvalError異常。

實際上大多數的實現不是這樣的。當通過別名調用時,eval()會將其字符串當成頂層的全局代碼來執行。執行代碼可能會定義新的全局變量和全局函數,或給全局變量賦值,但卻不能使用或修改主調用函數中的局部變量,因此不會影響到函數內部的代碼優化。

而在ECMAScript5中,態度有所不同:反對拋出EvalError異常。在ECMAScript5中當直接使用非限定名來調用eval()函數時,通常稱為”直接eval(direct eval)”;直接調用eval()時,總是在調用它的上下文作用域內執行。而其他的間接調用則使用全局對象作為其上下文作用域,且無法讀寫和定義局部變量和函數。(但實際我在firebug測試里發現,都是修改了全局變量 :( )

需要真正eval來執行代碼段的場景并不多見,可能更多的會使用全局eval而不是局部eval。

IE9之前的早期版本IE當通過別名調用eval()時并不是全局eval,但IE定義了一個execScript()的全局函數來完成全局eval的功能(單核eval()稍有不同,execScript()總是返回null)。

ECMAScript5嚴格模式對eval函數行為施加了更多的限制。在嚴格模式下使用eval或eval執行代碼以”use strict”指令開始時,eval是私有上下文環境中的局部eval.此外嚴格模式將eval列為保留字,這讓eval()更像一個運算符,不能用一個別名覆蓋eval()函數,并且變量名、函數名、函數參數或者異常捕獲的參數都不能取名為”eval”.

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
正在播放欧美一区| 亚洲国产精彩中文乱码av| 亲爱的老师9免费观看全集电视剧| 精品久久久久久久久久久久久久| 欧美日韩亚洲一区二区| 国产九九精品视频| 上原亚衣av一区二区三区| 国产精品日日做人人爱| 亚洲视频欧美视频| 91久久综合亚洲鲁鲁五月天| 成人免费午夜电影| www.欧美视频| 青青久久aⅴ北条麻妃| 精品国产自在精品国产浪潮| 亚洲第一av网站| 久久av资源网站| 日韩av最新在线| 久久久久久久999精品视频| 国产一区二区视频在线观看| 91产国在线观看动作片喷水| 亚洲性视频网站| 欧美乱大交xxxxx| 亚洲深夜福利视频| 一区二区亚洲欧洲国产日韩| 成人免费看吃奶视频网站| 欧美色视频日本高清在线观看| 精品久久久久久久久久国产| 久久久久久久999精品视频| 日av在线播放中文不卡| 亚洲欧美中文另类| 国产精品视频xxxx| 538国产精品一区二区免费视频| 中文字幕日韩精品在线| 精品无人区乱码1区2区3区在线| 欧美日韩一区二区三区| 久久久免费高清电视剧观看| 久久久精品在线| 日韩中文字幕不卡视频| 一区二区三区美女xx视频| 中文字幕一区二区三区电影| 久久97精品久久久久久久不卡| 不卡毛片在线看| 日韩电影在线观看永久视频免费网站| 亚洲第一页在线| 欧美成人在线免费| 欧美精品亚州精品| 九色精品美女在线| 91久久嫩草影院一区二区| 日韩免费观看网站| 亚洲精品狠狠操| 亚洲人成伊人成综合网久久久| 久久好看免费视频| 91久久嫩草影院一区二区| 最新日韩中文字幕| 国产精品极品尤物在线观看| 亚洲毛片在线观看| 日韩av资源在线播放| 精品毛片网大全| 久国内精品在线| 亚洲第一网站免费视频| 视频直播国产精品| 日韩精品免费综合视频在线播放| 欧美另类老肥妇| 亚洲精品视频免费| 国产精品久久久久久影视| 亚洲欧美国产日韩天堂区| 久久99久久99精品中文字幕| 欧美二区在线播放| 97久久超碰福利国产精品…| 黄色成人在线免费| 亚洲精品一区二区三区婷婷月| 最近2019中文字幕第三页视频| 欧美激情网站在线观看| 欧美极品在线播放| 亚洲美女激情视频| 欧美午夜宅男影院在线观看| 91精品啪在线观看麻豆免费| 日韩精品在线免费观看视频| 亚洲成年人在线| 国产精品三级在线| 亚洲精品久久久久国产| 自拍偷拍亚洲在线| 久久中文久久字幕| 日韩视频永久免费观看| 欧美一级大片视频| 亚洲天堂色网站| 欧美精品国产精品日韩精品| 国产成+人+综合+亚洲欧美丁香花| 国产精品劲爆视频| 在线精品播放av| 中文字幕亚洲无线码a| 亚洲午夜色婷婷在线| 欧美理论在线观看| 亚洲国产成人精品电影| 国产成人精彩在线视频九色| 日韩av观看网址| 欧美大成色www永久网站婷| 国产亚洲精品久久久久久| 国产精品久久久久久网站| 欧美在线视频观看免费网站| 欧美三级欧美成人高清www| 亚洲奶大毛多的老太婆| 国产精品丝袜白浆摸在线| 成人97在线观看视频| 狠狠躁夜夜躁久久躁别揉| 欧美激情免费观看| 国产精品草莓在线免费观看| 日韩中文视频免费在线观看| 国产精品极品美女粉嫩高清在线| 欧美成人激情视频免费观看| 久久久久久久久久婷婷| 国产精品入口免费视| 欧美精品免费在线| 一道本无吗dⅴd在线播放一区| 亚洲xxxx18| 日韩免费视频在线观看| 亚洲精品自拍视频| 国产精品高潮呻吟久久av野狼| 亚洲国产欧美一区| 欧美福利在线观看| 国模私拍视频一区| 欧美午夜视频在线观看| 日韩有码在线观看| 麻豆一区二区在线观看| 成人444kkkk在线观看| 韩日欧美一区二区| 久久久影视精品| 91在线观看免费高清完整版在线观看| 亚洲精品永久免费| 欧美成人精品一区| 国产精品美女在线观看| 青草青草久热精品视频在线观看| 国产精品第一第二| 国产精品久久久久一区二区| 日本精品久久久久影院| 91久久精品国产| 成人h片在线播放免费网站| 欧美怡红院视频一区二区三区| 欧美成人精品三级在线观看| 这里只有精品视频| 国产偷国产偷亚洲清高网站| 国产精品免费福利| 97成人在线视频| 91成人国产在线观看| 亚洲护士老师的毛茸茸最新章节| 最近2019年手机中文字幕| 亚洲xxxx做受欧美| 亚洲欧美日韩综合| 欧美综合第一页| 亚洲成色777777在线观看影院| 91亚洲精品一区二区| 中日韩午夜理伦电影免费| 日韩极品精品视频免费观看| 日韩中文字幕国产精品| 91欧美精品午夜性色福利在线| 国产精品久久久久久久久久ktv| 色综合久久88色综合天天看泰| 亚洲精品国产免费| 久久香蕉国产线看观看av| 国产精品永久免费视频| 日韩三级影视基地| 欧美国产在线电影| 国产精品美女久久| 亚洲高清久久网|