html52.com
我爱小程序-开发者交流社区

变量作用域及执行顺序的问题

var post={};

post = this.data.info;

post.token=app.token;

post.positionname = post.position.positionname;

post.position = post.position.code;

//从头到尾没有改变过this.data.info的值,只是给post这个接收变量赋值了,但是结果打印的时候发现this.data.info的值都变得和post一样了

//求解答


//还有一个问题就是,代码从上到下的执行顺序,为什么:

var a=10;

console.log(a);

a=20;

//打印出来的是20,而不是10


网友回复

卢霄霄:

如果是数组,可以用 array.concat()生成新的副本。如果是不带方法的数组或对象,也可用JSON.parse JSON.stringify 转一下

卢霄霄:

新手常见错误,object 和 array 这俩类型赋值的时候,是给的地址。一般的类型是给的值。var a = {b:1},var c = a,c.b=2 ,console.log(a.b) ,打出来就是2

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付