var obj = {
test: 'abc'
};
function method() {
console.log(obj.test);
obj.test += 'd';
obj.test.toUpperCase();
obj.test.substring(3);
}
function method1() {
forEach([1, ...], function (v) {
console.log(obj.test + i);
});
}
如上栗 obj.test 是否应该存成变量为好 这样直接写引擎不是每次都要去 get 一下吗
但是如果声明为变量又要占用一些内存空间 这种以空间换速度的行为可取吗?~
或者大家有没有什么标准 比方说遇到三次重复就存变量 如果只是偶然一次两次 就直接写好了~
首先你这个问题里面存成变量是不对的,obj.test是字符串,不是引用类型,使用变量操作的后果就是你只改变了变量而没改变obj.test。具体的请搜索‘引用传递和值传递的区别’。不过改进一下是可以的,需要在最后把变量赋给obj.test
其次你的想法是对的,我个人习惯是两次以上访问就设变量保存了,尤其是对引用类型而言,变量只保存内存地址而已,副作用微乎其微
补充:
你的js水平要加强,字符串是创建就无法修改的,对字符串调用方法不会修改自身,要用一个值来接收,你上面转大写和截取的方法都是无效的