请教关於javascript对象传参的问题,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:29:22
function myprint(s1,person)
{
var defaultperson={name1:"shen",name2:"jing",name3:"a"}
if(!s1)
{alert("can'nt empty")
return false
}
person=person||defaultperson
alert(s1+person.name1+person.name2+person.name3)
}

myprint()
myprint("s1")//s1shenjinga 为什麼这里没有person参数了,还会输出"shenjinga"
myprint("s1",{name1:"aa",name2:"bb",name3:"cc"})

person=person||defaultperson,在你没有传person参数的情况下,person为null,布尔值肯定为false,所以这条语句的结果基本等同于person=defaultperson,所以才会输出shenjinga(name1+name2+name3)

person=person||defaultperson
你不是让他等于defaultperson了么