以下两个块之间是否存在功能或性能差异?
<foo ng-if="bar['qux']">
<foo ng-if="bar.qux">
如果bar.qux
最初未定义,是否会产生影响?
注意:我完全理解对象在普通Javascript中的工作原理。这不是关于Javascript的问题,而是关于AngularJS中可能存在的差异(因为解析或任何其他实现细节)
答案 0 :(得分:1)
我已经创建了一个合适的jsPerf测试用例,以确保更快地解析哪种符号,结果是点符号比括号符号快6%左右。
JsPerf测试用例:https://jsperf.com/test-angularjs-parse-speed。
点符号更快,但是,性能差异似乎太小,所以我可以根据您(或您的团队)更具可读性和实用性来选择使用哪一个。因为两者每秒运行超过10,000,000次操作,所以7%不会对您的应用程序造成任何性能问题。
答案 1 :(得分:0)
使用点表示法,在初始化之后,对象关系从定期调用开始就不会改变。