javascript - 什么是 John Resig 提到的动态代码评估

标签 javascript jquery coffeescript eval

在他的书“Javascript Ninja 的 secret ”中,John Resig 写道:

Although dynamic code evaluation has been maligned due to its complexity and potential for security issues, without it we wouldn’t have had the CoffeeScript programming language.

我希望有人能解释一下什么是动态代码评估?另外,是否有任何代码示例(或单词示例)可以帮助更好地解释它?另外,有没有使用动态代码评估的网站示例?

另外,如果可能的话,动态代码评估是如何带来 CoffeeScript 编程语言的?

最佳答案

JavaScript 中的动态代码评估技术:

  • eval功能
  • Function对象,使用 Function 构造函数创建

基本上,您获取一个包含 JavaScript 代码的字符串(例如,将它从多个部分连接起来),并使用其中一种技术来解析和运行它。 CoffeeScript 编译器实际上是一个 transpiler : 它获取用 CoffeeScript 编写的源代码(即字符串),并将其转换为 JavaScript 源代码(另一个字符串),使用 eval 运行。

关于javascript - 什么是 John Resig 提到的动态代码评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19614457/

相关文章:

http - ngMock 无法识别请求

javascript - 是否可以粘贴溢出的 HTML 元素?

javascript - D3圆弧渐变

javascript - 如何使用 jquery 将无序列表附加到现有 html 元素

javascript - 选择具有相同操作的不同js文件

javascript - 树莓派 JavaScript 内存泄漏

javascript - 如何使用 Ember ArrayController 获取对象集合?

javascript - JavaScript 中是否存在等效的 getColorBoundsRect() ?

javascript - 使用 jQuery 将 div 动画移出窗口/ View ,调整大小时忽略 css 规则

javascript - JQuery 日期选择器在刷新时不显示