淘汰赛教程-"this"属性绑定?

knockout tutorials - "this" property binding?

这些来自 knockoutjs.com 教程。

谁能解释一下 fullName 属性 末尾的 "this" 是做什么用的?请在此处提及JS原理,以便我进一步了解,谢谢!

为什么 totalSurcharge 属性 不需要最后的 "this"?

ko.computed 的第二个参数在执行确定计算值(第一个参数)的函数时设置 this 的值。在 fullName 的情况下,函数使用 this.firstNamethis.lastName。因此,无论何时调用它,我们都希望确保 this 确实是我们的视图模型。

在第二种情况下,创建了一个名为 self 的变量,它指向 this 的适当值。然后,self 在计算的函数内部使用,而不是使用 this(这是动态的)。在第二种情况下,self 可以作为第二个参数,然后 this 可以在函数内部使用。

这真的是风格问题。在我看来,像 self 这样的变量的使用现在已经过时了。最后还是看个人喜好吧。

这是另一个在 KO 中讨论 this 的答案:Difference between knockout View Models declared as object literals vs functions

这里 JavaScript 关于 this 的很好的教程:https://derickbailey.com/email-courses/masteringthis/