我可以将整个迭代对象从HTML传递到Javascript,如下所示
<!-- HTML --!>
(click)="onChange(item)"
/* js */
onChange(item) {
getDetails(item.id, item.date, item.count)
}
或者我可以传递迭代对象的唯一必需的属性,如下所示
<!-- HTML --!>
(click)="onChange(item.id, item,date, item.count)"
/* js */
onChange(id, date, count) {
this.getDetails(id, date, count)
}
考虑迭代项具有大约15个属性
item = {
id:"01",
date: "12/12/2017",
count:"1000",
name:"John Doe",
email:"john@doe.com"
...
...
... // goes on
}
我只想知道上述方法中的哪一种通过传递属性或整个对象可以提供更好的性能?我相信,我只想通过属性。无论如何,两种方式的代码运行速度都更快。但是,如果有人可以解释真正的差异,那就太好了。
最佳答案
我认为像v8这样的javascript引擎会将其对象属性存储在哈希映射中,从而使其变为o(1),因此,如果您传递对象并从函数内部访问属性,则不会有任何区别,但是如果对其进行迭代,它将会慢一点
关于javascript - 在AngularJS中将变量比整个对象从HTML传递到Javascript时的任何性能改进,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49251136/