编辑:有些人(实际上,我认为每个愿意花时间提供帮助的人 :))都将其误解为关于在这种情况下我应该如何进行编码的问题。我的错。它不是。不要这样编码,人们,否则你会让婴儿耶稣哭泣。我在问Javascript如何使用内存,以及浏览器如何处理(无效)代码。感谢 Joe 与我一起坚持了足够长的时间来解决我的要求,并感谢 Adeneo 展示了它应该如何完成。现在,回到问题上来......
假设我有这个代码:
<ul>
<li><a onclick="myFunction(this.innerHTML)">List item 1</a></li>
<li><a onclick="myFunction(this.innerHTML)">List item 2</a></li>
....snip....
<li><a onclick="myFunction(this.innerHTML)">List item 1000</a></li>
</ul>
我也有,在一个脚本标签:
function myFunction(myString) {
console.log(myString);
console.log(myString);
console.log(myString);
}
这是否比:
<ul>
<li><a onclick="console.log(this.innerHTML);console.log(this.innerHTML);console.log(this.innerHTML);">List item 1</a></li>
<li><a onclick="console.log(this.innerHTML);console.log(this.innerHTML);console.log(this.innerHTML);">List item 2</a></li>
....snip....
<li><a onclick="console.log(this.innerHTML);console.log(this.innerHTML);console.log(this.innerHTML);">List item 1000</a></li>
</ul>
我并不担心第二个示例所需的所有输入所需的额外开发时间,因为代码是在 AngularJS 中生成的。在我看来,第一种方法会占用更少的内存,但我一直看到使用第二种方法。在运行时浏览器是否都一样?
编辑:正如 Adeneo 在下面所说,任何值得他或她的盐的编码器都会在这个例子中使用 .addEventListener 。