JavaScript中Global全局对象之eval()函数
来源:互联网 发布:黑马程序员 招聘信息 编辑:程序博客网 时间:2024/05/26 02:20
JavaScript中Global对象中的eval
函数,会在当前作用域中执行一段 JavaScript 代码字符串。eval
函数类似一个完整ECMAScript解析器,该函数接收一个字符串参数,将该参数做为实际JavaScript
语句执行后,执行结果会被插入到原位置。
1. eval
函数的用法
eval(string)
函数是ECMAScript
中功能非常强大的一个函数,它接收一个字符串参数,并将该字符串做为实际JavaScript
语句执行。例如,下面两行代码执行结果是一样的:
eval('console.log("hello world")'); //hello worldconsole.log("hello world"); //hello world
2. eval
函数与作用域
eval
函数与执行环境共享作用域。也就是说在eval
函数外面定义的变量或方法,可以在eval
函数的字符串参数中访问。在eval
函数的字符串参数中定义的变量或方法也可以在eval
函数外部访问。示例如下:
var msg = 'hello world';eval('console.log(msg)'); //hello worldeval('function sayHi () { console.log("hello world"); }');sayHi(); //hello world
3. eval
函数相关说明
严格模式下,在eval
函数中定义的变量或方法不能在其外部访问,上面第二个示例中访问内部方法会抛出异常。
'use strict';eval('function sayHi () { console.log("hello world"); }');sayHi(); //抛出ReferenceErrorr的异常
严格模式下,eval
函数不能被覆盖,试图覆盖evaleval()EvalError
。
eval = function(){ console.log('另一个eval');}//会抛出以下异常SyntaxError: Assignment to eval or arguments is not allowed in strict mode……
eval
函数不能被滥用,eval
函数会执行任意传给它的代码,在代码字符串未知或者是来自一个不信任的源(如:用于执行用户输入的代码),绝对不要使用eval
函数。
0 0
- JavaScript中Global全局对象之eval()函数
- javascript:Global全局对象,编码解码,eval方法
- javascript全局对象Global对象
- JavaScript全局函数【escape(),eval(),isNan(),isFinite(),parseFloat(),parseInt(),unescape()】之eval()
- JavaScript之eval函数
- JavaScript 中eval()函数
- JavaScript全局函数eval的用法
- Node.js之Global全局对象
- 在AS3中使用全局对象(global)
- JavaScript----全局函数、对象
- JavaScript 全局对象之parseInt()函数与parseFloat()函数
- JavaScript全局对象之Number函数与String()函数
- javascript中Eval()函数用法
- javascript中eval()函数语法
- javaScript中eval()函数详解
- 浅析JavaScript中两种类型的全局对象/函数
- C# javascript 对象转换(Eval 函数)
- JSON 文本 JavaScript 对象 eval() 函数
- [LeetCode]343. Integer Break
- java AES 加密解密
- Hadoop2.6..0 HA高可靠性集群搭建(Hadoop+Zookeeper)
- 1.11
- HTML 中常用的字符实体
- JavaScript中Global全局对象之eval()函数
- css的进一步学习(前端第三天)
- 面试笔试题
- 解决fragment中listView或者gridView给item设置监听,点击空指针问题
- Flask学习总结笔记(8) -- 利用Flask-mail实现电子邮件发送功能
- HDU 4847 KMP
- codeforces 484D Kindergarten 【动态规划】
- JavaScript HTML DOM节点类型之Node类型介绍
- web项目构建路径设置问题