Javascript 什么';在方法中写入空数组而不是将其作为对象参数写入,这有什么区别?

Javascript 什么';在方法中写入空数组而不是将其作为对象参数写入,这有什么区别?,javascript,arrays,Javascript,Arrays,在方法中写入空数组有什么区别 var example = { calcMethod: function() { this.array1 = []; this.array2 = []; } }; 而不是将它们作为对象参数写入 var example = { array1 : [], array2 : [] }; 尽管javascript语法非法,我还是会回答你的问题 区别在于在第一个代码段中定义array1和array2之前必须调

在方法中写入空数组有什么区别

var example = {
    calcMethod: function() {
        this.array1 = [];
        this.array2 = [];
    }
};
而不是将它们作为对象参数写入

var example = {
    array1 : [],
    array2 : []
};

尽管javascript语法非法,我还是会回答你的问题

区别在于在第一个代码段中定义
array1
array2
之前必须调用
calcMethod
。否则它们将
未定义

let object1={
calcMethod:function(){
此.array1=[1];
this.array2=[2];
}
}
设object2={
阵列1:[3],
阵列2:[4]
}
console.log(object1.array1);//未定义
console.log(object1.array2);//未定义
object1.calcMethod();
console.log(object1.array1);		// [1]
console.log(object1.array2);		// [2]
console.log(object2.array1);		// [3]

console.log(object2.array2);//[4]
这些都不是有效的Javascript。您的问题实际上是关于
this
关键字的使用。看见但是您的特定语法
let=object
无效。它应该类似于
让o={…}
非常感谢@SaniSinghHuttunen我修正了语法,这样任何有相同问题的人都可以得到有效的答案。