函數的定義方式
// 第一種定義方式 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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
