问一道js的基础题

function setName(obj){
    obj.name = "obama";
    obj = {name:"clinton"};
}
var president = {name:"bush"};setName(president);

执行完只段代码以后president.name的值为什么是"obama"
记得javascript高级程序设计中讲过,就是忘记在哪页了


梦里花落0921
浏览 632回答 1
1回答

阿晨1998

一句一句的分析代码:var president = {name:"bush"};president指向{name:"bush"}对象setName(president);将obj指向president指向的对象, 也就是{name:"bush"}obj.name = "obama";将obj指向的对象(也就是president指向的对象)的name属性值改为"obama"obj = {name:"clinton"};把obj的指向从{name:"obama"}对象改为了{name:"clinton"}对象而president仍然指向{name:"obama"}对象
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript