JavaScript没有引用传参, 所有的都是值传递. 即使是对象, 例如
a = {}
b = a
也是值复制, 即b复制了a的值使得结果上a与b都指向同一个对象
又如
function X(a){a = [0,1,2]}
b = [3,4,5]
X(b)
当然不会对b产生什麽影响
故你可以改成
function yinyong(x){x.str1 ="改变后的样子" x.arr[1]=2
x.n =78
x.arr[x.arr.length]="三"
}
var o = {arr : arrdefault,str1 : q,n : dc}
yinyong(o)
arrdefault = o.arr
q = o.str1
dc = o.n
你好像范了一个基本的错误:同一页面内的标签id应该唯一。
按照你的代码逻辑推断,你的#list和#selector好像重复了。
这就是你问题的根源吧。