3

John Resig 在他的《Javascript Ninja 的秘密》一书中写道:

尽管动态代码评估因其复杂性和潜在的安全问题而受到诟病,但如果没有它,我们就不会有 CoffeeScript 编程语言。

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

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

4

1 回答 1

3

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

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

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

于 2013-10-27T04:01:10.943 回答