只是一個快速的...正確的方式來格式化JavaScript函數
什麼是格式化JavaScript函數的正確方法?
我認爲是這樣的:
function doThis(){
}
像這樣:
doThis = function(){
}
或者,也許它沒有什麼區別。請讓我知道什麼是最好的,或者如果他們有不同的rasons或目的。
乾杯
Ç
只是一個快速的...正確的方式來格式化JavaScript函數
什麼是格式化JavaScript函數的正確方法?
我認爲是這樣的:
function doThis(){
}
像這樣:
doThis = function(){
}
或者,也許它沒有什麼區別。請讓我知道什麼是最好的,或者如果他們有不同的rasons或目的。
乾杯
Ç
它們是兩個不同的東西,儘管它們都創建了一個函數(並將其分配給一個變量)。
function name() {
}
是一個函數語句(或 「函數聲明」)。只有法律顯示爲頂級腳本元素或直接作爲函數的元素:即,它是一個函數語句出現的if
內不合法,或while
等所有功能語句「解除」的函數(或腳本)的頂部,從而以下是有效的:
a()
function a() { alert("a") }
在形式:
variable = function name() {} // or variable = function() {}
功能關鍵字是一個功能 - 表達上下文:它創建一個新的函數對象,並將生成的函數對象(只是一個「正常值」)分配給variable
。以下是無效的,因爲功能表達式是而不是解除。
var b
b() // oops, does not evaluate to a function-object yet!
b = function b() { alert("b") }
之所以這麼說,「正確的方式」是使用函數語句(「函數聲明」)的形式,除非有理由不這樣做。
快樂編碼。
參見:
有那些語法之間一個重要的,也是有用的差異。
封裝在OOP它是非常有用的使用封裝,其是用於限制接入到其他對象的機制。公共和私人增值經銷商之間的區別/在JavaScript功能可以說是這樣的:
function Color(value)
{
// public variable
this.value = value; // get from arguments
// private variable
var _name = "test";
// public function
this.getRandomColor = function()
{
return Math.random() * 0xFFFFFF;
}
// private function
function getNiceColor()
{
return 0xffcc00;
}
}
的顏色實例內的公共變量和函數都可以訪問:
// create instance of Color
var color = new Color(0xFF0000);
alert(color.value); // returns red color
alert(color.getRandomColor()); // returns random color
私有變量和函數不能從顏色實例訪問:
var color = new Color(0x0000FF);
alert(color.getNiceColor()); // error in console; property does not exist, because function is private.
alert(color._name); // error in console; property does not exist, because variable is private.
注意
它可以更好地利用公共職能時要使用好老原型,因爲編碼的這種方法可能會導致的傳承問題。
真棒@pst。現在非常有意義。謝謝 – Cybercampbell