eval00(javascript中eval的用法)
本文目录
javascript中eval的用法
JavaScript eval() 函数
JavaScript 全局对象
定义和用法:
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
语法:
eval(string)
返回值:
通过计算 string 得到的值(如果有的话)。
说明:
该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。
抛出:
如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。
如果非法调用 eval(),则抛出 EvalError 异常。
如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。
扩展资料:
调用eval函数的三种情况:
1、直接调用
直接调用时,eval函数相关的执行环境属性ThisBinding,LexicalEnvironment,VariableEnvironment的值如下:
a) ThisBinding是调用eval函数时,调用方执行环境的ThisBinding
b) LexicalEnvironment是调用eval函数时,调用方执行环境的LexicalEnvironment
c) VariableEnvironemnt是调用eval函数时,调用方执行环境的VariableEnvironment
2、间接调用
所谓间接调用,即将eval赋值给另一个变量后在调用
3、严格模式下的eval
在严格模式下,eval的LexicalEnvironment,VariableEnvironment指向属于eval自己的Lexcial Environment,而不是调用方的Lexical Environment,但是ThisBinding还是调用方的ThisBinding。
同时,在严格模式下如果eval直接调用,那么eval的Lexical Environment的outer指针指向调用方的Lexical Environment,否则,如果是间接调用,那么eval的Lexical Environment的outer指针指向全局环境的Lexical Environment。
参考资料来源:百度百科--eval()
eval解密
首先,把 js 复制到一个 html 文件中,然后通过浏览器打开再把 /**/这些注释的内容全部删除1)然后,把 eval 修改成 document.write,刷新一下,我们就得到了一个新的 eval然后把原来的 js 全部注释掉,把页面上显示出来的 js 复制到文件中,并把 eval 修改成 document.write这里需要注意的是 %3C这个符号,因为他是《,所以document.write会出错,我们需要手动把 %3C替换成《,这样得到的新的 js 才是正确的然后重复 1)一直到 不在产生eval这样就可以得到了加密前的 js 代码了当然,把最后一次得到的 eval 信息直接复制到最开始我贴的那个网址上进行解密,可以得到带格式的 js ,这样也方便我们阅读了
更多文章:

psp的游戏需要买吗(psv可以玩psp所有游戏吗,效果怎么样还花钱嘛好评)
2024年12月21日 18:30

vivo账户密码忘了怎么解除(vivo手机账户密码忘记了怎么解开)
2024年4月20日 15:30

ipad第6代是什么型号(请问一下ipad第六代是什么尺寸)
2024年11月22日 14:00

深圳北水货手机报价(NOKIA C5深圳,水货和行货价格多少,怎么分辨)
2024年5月19日 07:00

漫步者音响怎么连接手机放歌(edifier蓝牙音箱怎么连接手机)
2025年1月3日 01:00

蓝宝石480参数(二手蓝宝石公版RX480显卡怎么样,600元入手值得吗)
2025年1月29日 15:50