2015-10-20 251 views
1

作爲一個新手,我想知道,如果我們做函數賦值給變量

function square(x) { return x*x; } 

var s = square; 
square(4); 

所以基本上s是在廣場上的功能複製一個新功能?因爲我對此感到困惑。請幫忙。

+0

's是一個新的函數,其中的平方函數被複制?',現在's'引用''正方形' – Tushar

+0

@Tushar我想知道像是一個新的函數? –

+0

不,兩者都指向相同的功能,你有沒有聽說過_soft-link/shortcut_在操作系統中,它是相同的概念 – Tushar

回答

2

所以基本上s是一個新的函數,其中的平方函數被複制?

沒有,s只是另一種「名」與您可以參考相同功能。

s === square將是true,即兩個綁定將指代相同的對象。

+0

所以你的意思是S就像一個參考該功能,, –

+0

正確@MarcAndreJiacarrini,它是一個變量指向內存中的同一個點 –

+0

「name」的一個更好的詞可能是「別名」。我認爲那就是你想要的,對吧? –

0

S不是一個新功能。它只是一個指向平方函數的指針。他們都是一樣的。