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 ,这样也方便我们阅读了
更多文章:

凌志ls430老款为什么那么贵(没忍住,又买了一台雷克萨斯LS430,前后期430来个对比)
2024年5月9日 12:10

诺基亚c1plus和c3哪个好(曾经手机界的王者又回来了,Nokia C3一部送给父母的礼物)
2024年11月8日 12:20

三星gt7562i(三星GT-S7562i无法开机,一直震动)
2024年7月6日 06:20

电脑只能上qq不能上网(电脑只能登qq 不能打开网页怎么回事啊)
2024年4月1日 20:40

诺基亚翻盖手机男(我想要诺基亚的翻盖手机,有哪些可以推荐一下)
2024年5月1日 04:20

保时捷mate10上市时间(mate10保时捷什么时候上市)
2024年4月8日 11:30

东芝笔记本开不了机黑屏但电源灯还亮(笔记本开不了机黑屏但电源灯还亮)
2024年11月10日 23:50

ipodtouch5最高版本(iPodtouch5最高可以升到iOS几)
2024年4月26日 05:40

vivo耳机官网(你好,问一下vivoTWS2e耳机有一个摔坏了,能单独买一支耳机吗)
2024年12月2日 15:00