亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript是否通過參考?

Javascript是否通過參考?

Javascript是否通過參考?Javascript是傳遞引用還是傳遞值?下面是一個來自JavaScript:好的部分。我很困惑my矩形函數的參數。實際上undefined,并在函數中重新定義。沒有原始的參考資料。如果從函數參數中刪除它,內部區域函數將無法訪問它。結束了嗎?但不返回任何函數。var shape = function (config) {     var that = {};     that.name = config.name || "";     that.area = function () {         return 0;     };     return that;};var rectangle = function (config, my) {     my = my || {};     my.l = config.length || 1;     my.w = config.width || 1;     var that = shape(config);     that.area = function () {         return my.l * my.w;     };     return that;};myShape = shape({     name: "Unhnown"});myRec = rectangle({     name: "Rectangle",     length: 4,     width: 6});console.log(myShape.name + " area is " + myShape.area() + " " + myRec.name + " area is " + myRec.area());
查看完整描述

4 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

原語通過值傳遞,對象通過“引用的副本”傳遞。

具體來說,當您傳遞一個對象(或數組)時,您正在(無形地)傳遞對該對象的引用,并且可以修改內容對象的引用,但如果試圖覆蓋引用,它不會影響調用方持有的引用的副本-即引用本身是通過值傳遞的:

function replace(ref) {
    ref = {};           // this code does _not_ affect the object passed}function update(ref) {
    ref.key = 'newvalue';  // this code _does_ affect the _contents_ of the object}var a = { key: 'value' };replace(a); 
    // a still has its original value - it's unmodfiedupdate(a);   // the _contents_ of 'a' are changed


查看完整回答
反對 回復 2019-05-30
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

把它想成這樣:

每當您創建一個對象在ECMAScript中,這個對象是以神秘的形式形成的。ECMAScript通用場所沒有人能得到的地方。你得到的只是一個參照系在這個神秘的地方。

var obj = { };

obj僅是對象的引用(該對象位于該特殊的奇妙位置),因此,您只能傳遞以下內容參照系四處轉轉。實際上,任何訪問OBJ將修改對象很遠的地方。


查看完整回答
反對 回復 2019-05-30
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

與C一樣,最終,一切都是通過值傳遞的。與C不同,實際上不能備份并傳遞變量的位置,因為它沒有指針,只有引用。

它所擁有的引用都是對象,而不是變量。有幾種方法可以實現相同的結果,但它們必須手工完成,而不僅僅是在調用或聲明站點添加關鍵字。


查看完整回答
反對 回復 2019-05-30
  • 4 回答
  • 0 關注
  • 662 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號