javascript的参数传递

//一直以为js中有两种传递方式:按值传递,和按引用传递;看到有的说js只有一种传递方式按值传递;
//自己虽然之前有使用但是一直没有细化;今天群里回答被打脸了特意细化了一下;
var obj = {"a":"b"};
function change(obj){
    return obj.a =  "c";
    //将obj传递进来,类似于 obj.a = "c"; retrun obj;
}
change(obj);
consonle.log(obj); => {a:"c"};
function transfrom(obj){
    return obj = {"a":"e"};
    //这里改变了对象的指针;但是只有在此函数内生效;外部obj的指向没有改变;很类似于
    //var  a = 1;
    //function alter(a){
    //   var  a = 2;
    //   return a;
    //}
}
console.log(obj); => {a:'c'};
function alter(value){
    return value =  "d";
    //类似于 var value = obj.a;
    //然后将value传递进来;和obj已经没有关系;
}
}
alter(obj.a);
console.log(obj); => {a:"c"};

 

posted @ 2014-12-09 11:36  北京-树苗  阅读(214)  评论(0编辑  收藏  举报