JS中的eval 为什么加括号

 更新时间:2016年04月13日 17:28:24   作者:刘江龙  
JS中的eval 为什么加括号呢?相信很多朋友都不是很清楚吧,下面小编通过本教程帮助大家学习JS中的eval 为什么加括号,感兴趣的朋友了解下吧

eval简介

---eval在ECMA定义中是全局对象原型的方法;

---eval接受的参数是字符串格式的js代码, 将由执行引擎(记得'高级程序设计'还是哪说过, 此时新建一个执行引擎)执行这段字符串, 然后返回结果到eval调用的位置.

<!DOCTYPE html>
<html>
<head>
<title>eval学习</title>
<script type="text/javascript">
/*
eval("表达式");执行表达式语句
eval("("+javascript类型+")");转为javascript对象
*/
var jsonObj={"name":"ljl","data":123};//json,是javascript的对象
var jsonString='{"name":"ljl","data":123}';//javascript的string类型,字符串内容符合json格式的样式
var objType=eval("("+jsonString+")");//通过eval函数将json字符转为javascript对象
alert( typeof jsonString);//string
alert( typeof objType);//obj
alert(eval(123));//123
alert(typeof eval("("+123+")"));//number
var x=2;
var y=eval('x+1');//执行 2+1 表达式
alert('y= '+y);//3
</script>
</head> 
<body>
</body>
</html>

补充:总结

eval是js动态特性之一, 通过它直接执行js程序并返回结果, 常见的使用就是还原json数据为js对象;

但是由于其能在运行时动态改变上下文对象, 因此带来了注入攻击的风险;

使用时, 注意eval对字符串的语法认识是如何的, 常见的就是'大括号'问题

相关文章

  • 标准的js无缝滚动效果

    标准的js无缝滚动效果

    这篇文章主要为大家详细介绍了标准的js无缝滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 微信公众号开发 实现点击返回按钮就返回到聊天界面

    微信公众号开发 实现点击返回按钮就返回到聊天界面

    本文分享了微信公众号开发实现点击返回按钮就返回到聊天界面的示例代码。需要的朋友一起来看下吧
    2016-12-12
  • javascript getElementsByClassName函数

    javascript getElementsByClassName函数

    今天在脚本中应用到了根据类名取元素的方法,却对其效率不甚满意。于是,小幅修改了其探测元素类名的方法,提升了约3成的效率.
    2010-04-04
  • 一文详解如何在浏览器中使用JavaScript

    一文详解如何在浏览器中使用JavaScript

    这篇文章主要介绍了在浏览器中使用JavaScript的步骤,包括启用JavaScript、编写和运行JavaScript代码的方法,以及一些注意事项,需要的朋友可以参考下
    2025-03-03
  • 使用canvas及js简单生成验证码方法

    使用canvas及js简单生成验证码方法

    在很多时候都需要用到验证码,前端验证码需要知道Html5中的canvas知识点。验证码生成步骤是:1.生成一张画布canvas 2.生成随机数验证码 3.在画布中生成干扰线 4.把验证码文本填充到画布中 5.点击画布更换验证码
    2017-04-04
  • javascript中的数字与字符串相加实例分析

    javascript中的数字与字符串相加实例分析

    javascript中的数字与字符串相加实例分析,学习js的朋友可以参考下。
    2011-08-08
  • Wordpress ThickBox 添加“查看原图”效果代码

    Wordpress ThickBox 添加“查看原图”效果代码

    上一次修改了点击图片动作 , 这次添加一个“查看原图”的链接,点击后将在一个新浏览器窗口(或Tab)打开该图片的原始链接地址。
    2010-12-12
  • 原生js实现移动端Touch轮播图的方法步骤

    原生js实现移动端Touch轮播图的方法步骤

    这篇文章主要介绍了原生js实现移动端Touch轮播图的方法步骤,touch轮播图其实就是通过手指的滑动,来左右切换轮播图,touch轮播图其实就是通过手指的滑动,来左右切换轮播图,
    2019-01-01
  • 封装html的select标签的js操作实例

    封装html的select标签的js操作实例

    本文将为大家介绍下正如标题所示的select操作:清空所有的选项、添加一个选项、根据值、选中一个选项、根据下标,选中一个选项,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • JS中JSON.stringify使用场景面试精讲

    JS中JSON.stringify使用场景面试精讲

    这篇文章主要为大家介绍了JS中JSON.stringify使用场景面试精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论