在製作javascript類功能時,我使用this.
很多。但是在使用它的時候,它讓我想知道是否使用var
代替了它。什麼時候應該使用this.x vs var x?
var myClass = function() {
this.x = 4;
return {
getVal: this.x
};
}
與配合使用VAR
var myClass = function() {
var x = 4;
return {
getVal: x
};
}
的同樣的事情請告訴我的差異,當我要使用它們?
如果爲了論證的緣故,我會添加一個return {},就像我在我的例子中所做的那樣。現在不會成爲這個函數的公共範圍,而不是所有這些變量? – Kristian
@Kristian:是的,無論你想返回使用'return'關鍵字仍然可用於外部代碼。這取決於你想要返回哪些私有變量或函數。公共變量是公共的,所以它們不一定要放在'return'塊中。事實上,您可以搜索使用相同方法的JavaScript展示模式。順便說一句,你的代碼不會工作,除非你在'var myClass = function(){/ * code * /}();'末尾添加'()''' – Blaster
我正在實例化它。但雅,我幾乎總是使用揭示模式,這似乎接管了this.something的正常可見性......這就是爲什麼我從來沒有想過在 – Kristian