A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qingger 中级黑马   /  2015-6-30 14:22  /  342 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//一直以为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"};

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马