寫在前面
此系列來源于開源項目:前端 100 問:能搞懂 80%的請把簡歷給我
為了備戰(zhàn) 2021 春招
每天一題降瞳,督促自己
從多方面多角度總結(jié)答案窟她,豐富知識
寫出如下代碼的打印結(jié)果
簡書整合地址:前端 100 問
正文回答
題目
function changeObjProperty(o) {
o.siteUrl = "http://www.baidu.com";
o = new Object();
o.siteUrl = "http://www.google.com";
}
let webSite = new Object();
changeObjProperty(webSite);
console.log(webSite.siteUrl);
回答
函數(shù)的形參是值的傳遞逃贝,傳遞對象的話嗦枢,函數(shù)接受的是這個對象的指針闷畸。
所以答案是 http://www.baidu.com
// 這里把o改成a
// webSite引用地址的值copy給a了
function changeObjProperty(a) {
// 改變對應(yīng)地址內(nèi)的對象屬性值
a.siteUrl = "http://www.baidu.com";
// 變量a指向新的地址 以后的變動和舊地址無關(guān)
a = new Object();
a.siteUrl = "http://www.google.com";
a.name = 456;
}
var webSite = new Object();
webSite.name = "123";
changeObjProperty(webSite);
console.log(webSite); // {name: 123, siteUrl: 'http://www.baidu.com'}