函數的定義方式
//
第一種定義方式
function
fn1(){
alert(
'fn1'
);
}
/*
函數就是一個非常特殊的對象,是一個Function類的實例,
其實在內存中存儲的操作是通過一個鍵值對來存儲的
*/
console.log(
typeof
fn1);
//
由于函數是一個對象,所以可以通過如下方式定義
//
以下是通過函數的拷貝來完成賦值,兩個引用并沒有指向同一個對象
var
fn2 = fn1;
//
兩個的值雖然相等,但是指向的是不同的空間
fn2();
fn1
=
function
(){
console.log(
'fn1');
//
fn1的值改變了之后,不會影響fn2的值
}
/*
函數雖然是一個對象,但是卻和對象有一些區別,對象是通過
引用的指向完成對象的賦值的,而函數卻是通過對象的拷貝來完成的
所以fn1雖然變了,并不會影響fn2
*/
fn2();
fn1();
/*
對于對象而言,是通過引用的指向來完成賦值的,此時修改o1或者o2會將兩個值都完成修改
*/
var
o1 =
new
object();
var
o2 = o1;
//
o1和o2其實指向了同一塊空間,當修改o2的值的時候,o1也會被修改
o2.name = 'leo'
;
alert(o1.name);
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

