var choosed = null; // 1EventUtil.addHandler(lists, 'click', cancel.bind(null, choosed)); // 2EventUtil.addHandler(delSure, 'click', delNote.bind(null, choosed)); // 3
第一行代码用于保存被点击的按钮 choosed为全局变量
每次都是第二行代码先被点击,此时在cancel函数中改变了choosed的值,指向了被点击的dom元素,
此时第三行代码被点击,需要获取choosed的值,发现,choosed = null,
第三行代码执行的时候choosed应该等于被第二行代码改变过的值,而不是null
怀疑choosed = null
没有是原始值,于是改为了choosed = {}
,结果仍然不对,于是参考网友的回答,将代码改为:choosed = {} // 1
第二行改变时改为:choosed.a = ''
,结果choosed.a在第三行能获取到,显然这种是引用值,那么为啥choosed = null;
或者choosed = {}
是原始值呢
原始值和引用值怎么区分的?,choosed = null;
或choosed = {}
,我是把这当做原始值的
白板的微信
相关分类