好消息好消息

本站友链火爆开放中,点击申请吧

待定模块

开发中

待定模块

开发中

待定模块

开发中
精彩专题最有价值的推荐

JavaScript函数库 – eval()的好与坏

JavaScript函数库 - eval()的好与坏-学习天地-ponyo

引言 自己平时也会接触一些前端技术,了解JavaScript和jQuery的基础用法,eval() 函数对于我来说非常陌生,第一次接触到它是在自己研究Outsystems某个组件的JavaScript代码中。 由于初次接触,所以就去百度了一下,不看不知道,一看吓一跳,这东西居然具有双重性。下面我就来了解一些神秘的eval()。 讲解 对于它的基础说明,我在这儿就直接借用w3school上面的 w3school eval() 直通车:https://www.w3school.com.cn/js/jsref_eval.asp 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 语法 eval(string) 参数描述string必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 返回值 通过计算 string 得到的值(如果有的话)。 说明 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。 如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。 抛出 如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。 如果非法调用 eval(),则抛出 EvalError 异常。 如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。 简单示例 <script type='text/javascript'> eval('x=10;y=20;document.write(x*y)') document.write(eval('2+2')) var x=10 document.write(eval(x+17)) </script> 输出: 200 4 27 提示和注释 提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。 当看到这句话时,就犹如想起了书上的类似操作,告诉你某种东西优缺点,往往又不会告诉原因。 所以,自己只有默默的关闭w3school标签,重新寻找对 eval() 优缺点讲解文章 优缺点 优点 eval() 的优点来源于它的使用 它可以解释运行由JavaScript源代码组成的字符串,并产生一个值 可以将字符串转换为可执行的代码 可以将JSON字符串转换成对象 缺点 eval() 缺点很多,它一出生就好像被打上了“邪恶”的标签。 书本上不推荐的原因,借用知乎用户的一句话: 不推荐是因为绝大多数人驾驭不了 的确,eval() 的错误使用往往会带来很多坏处 容易滥用 由于开发者对 eval() 不熟悉,往往会造成使用不当,很容易造成性能和安全问题。 性能低下 在有 eval() 的代码中,浏览器不仅会对普通代码进行解释,还会对 eval() 代码进行解释,这样的双重解析会让运行速度慢很多 可调试性差 当 eval() 代码出现问题时,才能进入其中的代码,就算是使用Google浏览器,也必须要等 eval() 代码执行一次。 安全 安全是一个老生常谈的话题,我们的应用要时刻保证用户数据的安全 eval() 可以在网站上随意注入代码,常见的比如 XSS(Cross site Scripting,跨站脚本攻击)。 总结 eval() 优点也有,缺点也很多,但我们不能被它给吓唬到了,用在正确的地方就行了。 少用,正确使用,而不是滥用! 如果有讲解不对的地方,可在下方进行评论,我将及时纠正! 如你有更好的见解,欢迎在评论区域讨论! 支持原创,从我做起!

置顶推荐JavaScript开发实用干货# JS# eval

小哈小哈40天前
0841

给大家分享一个免费的音乐歌词搜索软件,亲测实用,请勿商业实用!

给大家分享一个免费的音乐歌词搜索软件,亲测实用,请勿商业实用!-学习天地-ponyo

简介 这个软件是我在网上免费下载的,因为之前写一个音乐应用,网上各种网站提供的歌词要么搜不到,要么内容不全,歌词和歌曲匹配不上,要么就是加了广告。不过这个软件却很好,提供的歌词基本和QQ音乐官方的没什么区别,所以推荐给大家。因为下载的文件不仅包含应用程序,还包含了源码,所以,请大家不要商业使用。 使用方法 双击运行酷狗LRC歌词搜索工具中的酷狗LRC歌词搜索.exe即可,window需要基于.Net Framework4.5,一般情况都是有的,没有安装就行了。 .Net Framework4.5 下载及安装教程: https://www.microsoft.com/zh-cn/download/details.aspx?id=30653 第一步,先点击歌曲输入框(一般我们都是通过歌曲搜索),输入搜索的歌曲名称 第二步,点击搜索按钮,进行搜索 比如我们搜索少年这首热歌 搜索完成后,会有不同的版本出现,双击你喜欢的版本即可。 选择歌曲后,会出现几种版本的歌词,一般选择评分最高的即可,双击就可以下载对应歌词文件。 歌词文件会自动下载在DownLoad里, 就这样简单,就可以下载优质的歌词文件。如需了解更多功能,可以阅读文章下面的软件使用教程,或者查看软件的说明文件。 后续 这个软件比较实用,所以本人打算后续将对这个软件写个API接口,方便大家更好的使用,完成后会及时发布到本站,如有需求的同学,请关注本站。 软件是基于C#的桌面应用,有感兴趣的同学可以查看软件的工程目录。 特别提示 因为作者把源代码和应用程序一并发不出来了,可以看出作者的意愿是开源,所以重要的事情说三遍 请勿商业使用! 请勿商业使用! 请勿商业使用!

付费资源免费置顶推荐软件分享实用软件工具# 歌词搜索软件# 免费

小哈小哈43天前
0651

欢乐的时光就要开始了-我不想和这样的女儿藏猫猫

欢乐的时光就要开始了-我不想和这样的女儿藏猫猫-学习天地-ponyo

Outsystems BIF函数 EncodeJavaScript使用教程

Outsystems BIF函数 EncodeJavaScript使用教程-学习天地-ponyo

写在最前面的话 由于Outsystems国内教程资源很少,所以我将自己在学习过程中遇到的有价值东西写出来,一是给自己总结,加强记忆,也是提供给大家参考学习。 缘由 今天在公司研究DropdownSelect控件时,在源码里面看到使用了EncodeJavaScript这个函数。 由于需要理解整个流程,所以就特意了解这个函数的基本使用。 解读 在BIF(Build-in Functions,通常中文叫内置函数)中的Text模块找到了这个函数。 这个函数的描述是英文的,我这儿简单说明一下这个函数的作用。 EncodeJavaScript函数会将传入的字符中的特殊字符替换成16进制编码。 例如: 换行 10\x0a%0a&#10感叹号!33\x2121%&#33双引号'34\x2222%&#34或&quot美元符号$36\x2424%&#36连接符&38\x2626%&#38或&#amp单引号'39\x2727%&#39 所有对应关系可参照于这篇文章:特殊字符编码 我们都知道,在JavaScript中,如果使用特殊字符,可能会不显示,或者和其他符号冲突了,所以我们需要转换成特定编码 总结 所以EncodeJavaScript函数在Outsystems中是对特殊字符进行16进制编码 如果有讲解不对的地方,可在下方进行评论,我将及时纠正! 支持原创,从我做起! 打造一个国内Outsystems支持社区

置顶推荐Outsystems开发实用干货# Outsystems# BIF# EncodeJavaScript

小哈小哈47天前
01391

后端干货 – 最实用的SpringMVC接收前端数组参数教程,亲测可用

后端干货 - 最实用的SpringMVC接收前端数组参数教程,亲测可用-学习天地-ponyo

最实用的SpringMVC接收前端数组参数教程,亲测可用

Java开发实用干货# SpringMVC# 后端# 数组参数传递

小哈小哈51天前
0861

前端小课堂 – url获取中文参数乱码问题

前端小课堂 - url获取中文参数乱码问题-学习天地-ponyo

url获取中文参数乱码问题

JavaScript开发实用干货# 前端# JS# URL

小哈小哈52天前
0901

4月4日举行全国性哀悼活动

4月4日举行全国性哀悼活动-学习天地-ponyo

图片来源于网络 为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院发布公告,决定2020年4月4日举行全国性哀悼活动。 在此期间,全国和驻外使领馆下半旗志哀,全国停止公共娱乐活动。4月4日10时起,全国人民默哀3分钟,汽车、火车、舰船鸣笛,防空警报鸣响。

其他# 默哀# 4月4日# 疫情

小哈小哈53天前
0561

前端小课堂 – object-fit属性的用法

前端小课堂 - object-fit属性的用法-学习天地-ponyo

前端小课堂 - object-fit属性的用法

CSS开发实用干货# 前端# CSS# 图像处理

小哈小哈56天前
01231

友情链接优质网站推荐

小提示

如果你的网站也想被展示在上方,请点击 友情链接 申请