Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – Angular.js:$ eval如何工作,为什么它不同于vanilla eval?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我很好奇$ scope,你经常在指令中看到,所以我检出了源代码,并在rootScope.js中找到以下@L_450_1@:
$eval: function(expr,locals) {
    return $parse(expr)(this,locals);
  },

$ parse似乎是由parseProvider在parse.js中定义的,它似乎定义了一些它自己的小语法(该文件是900行长)。

我的问题是:

> $ eval是什么?为什么它需要自己的迷你解析语言?
>为什么不使用纯旧的JavaScript eval?

$ eval和$ parse不评估JavaScript;他们评估AngularJS expressions.链接的文档解释表达式和JavaScript之间的差异。

问:$ eval究竟是什么?为什么它需要自己的迷你解析语言?

从文档:

它是一个类似JavaScript的微型语言,它限制了你可以运行的东西(例如没有控制流语句,除了三元运算符),以及添加一些AngularJS的好处(例如过滤器)。

问:为什么不使用纯旧的javascript“eval”?

因为它没有实际评估JavaScript。正如文件说:

链接到上面的文档有更多的信息。

大佬总结

以上是大佬教程为你收集整理的angularjs – Angular.js:$ eval如何工作,为什么它不同于vanilla eval?全部内容,希望文章能够帮你解决angularjs – Angular.js:$ eval如何工作,为什么它不同于vanilla eval?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。