发表于: 2016-12-29 02:05:37

2 1542


今天完成的计划:发现首页判断的逻辑出现了问题重新整理了一遍。


收获:在微信小程序中

  1.url传参:

<navigator url="/pages/detail/detail?id=2"></navigator>
<navigator url="/pages/detail/detail?id"+p></navigator>//这里的p可以是变量了如果是对象数组可以先转换成字符串在传

Page({    onLoad (opositions) {      //opositions是一个对象 opositions.id 就可以取到要传的参数

   // 看看是不是你想要的        console.log(opositions.id)  

  } })

2.浅拷贝与深拷贝的问题

var arr = ["One","Two","Three"];var arrto = arr; 

arrto[1] = "test"; document.writeln("数组的原始值:" + arr + "<br />");//Export:数组的原始值:One,test,Three

document.writeln("数组的新值:" + arrto + "<br />");//Export:数组的新值:One,test,Three

这就是浅拷贝 会导致原数组发生变化

数组 解决的方法

arrayObj.slice(start, [end])   
对于array对象的slice函数,
返回一个数组的一段。(仍为数组) strat 与end 指的是下标index

var arr = ["One","Two","Three"];

var arrtoo = arr.slice(0); arrtoo[1] = "set Map";

 document.writeln("数组的原始值:" + arr + "<br />");//Export:数组的原始值:One,Two,Three

document.writeln("数组的新值:" + arrtoo + "<br />");//Export:数组的新值:One,set Map,Three

通过返回一个数组的片段 所以原数组不会改变。

对象的解决方法

主要是要通过遍历

var a={name:'yy',age:26};

var b=new Object(); 

 b.name=a.name;   把原对象的值赋给新的对象属性 这样改变新的对象是不会改变原对象的

b.age=a.age; 

b.name='zz';

 console.log(b);//Object { name="zz", age=26}

console.log(a);//Object { name="yy", age=26}



返回列表 返回列表
评论

    分享到