Javascript self.functionName和this.u functionName之间有什么区别?
我在敲除JS中有一个名为Javascript self.functionName和this.u functionName之间有什么区别?,javascript,function,knockout.js,Javascript,Function,Knockout.js,我在敲除JS中有一个名为func1的函数 在ViewModel中调用函数作为this.func1=function(){}和this.\u func1=function(){} 两者是相同的,还是有任何区别?这两者之间没有任何有意义的区别: function ConstructorFunctionX() { this.func1 = function(){}; } 这是: function ConstructorFunctionX() { this._func1 = functio
func1
的函数
在ViewModel
中调用函数
作为this.func1=function(){}
和this.\u func1=function(){}
两者是相同的,还是有任何区别?这两者之间没有任何有意义的区别:
function ConstructorFunctionX() {
this.func1 = function(){};
}
这是:
function ConstructorFunctionX() {
this._func1 = function(){};
}
对于构造函数的使用者可以访问的成员,它们只是不同的名称(带下划线或不带下划线)
这个不同:
function ConstructorFunctionX() {
var _func1 = function(){};
}
但不是因为名称以下划线开头,而是因为省略了此
,从而允许ConstructorFunctionX
外部的调用方无法访问该函数。带有下划线的函数是JavaScript中的私有函数或属性…@SarjanDesai我认为不太正确。它有时可以用作私有变量的命名约定,但下划线在JavaScript中没有实际意义。在OP的code\u中,func1
是它的封闭函数的一个公开可见成员(非私有),尽管有下划线。@RoyJ你说得很对,肯定是个错误。我已相应地更正了我的答案。