我有一些类似以下的代码。
MyRequests.cors_request("POST",
APP_CONFIG.APP_URL+"/users/selectAllUsers",
null,
function ok(users) {
$scope.usersNotFiltered = users;
console.log('users--->', users);
console.log('$scope.userPerSystem--->', $scope.userPerSystem);
// delete the items that is already exists in the userPerSystem
function filterUsers(element, index, array) {
console.log("$scope.usersNotFiltered :: " + users);
commonFindAndRemove($scope.usersNotFiltered, 'userId', element.userId);
console.log('a[' + index + '] = ' + element.userId);
}
$scope.userPerSystem.forEach(filterUsers);
$scope.users = $scope.usersNotFiltered;
},
然后我运行该代码并查看控制台。 chrome控制台中“[Object]”和“[object Object]”有什么区别?
用户---> [对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象]
$ scope.userPerSystem ---> [Object] 0:对象长度:1__proto__:数组[0]
redca-ias.concat.js:5258
$ scope.usersNotFiltered::[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象] ,[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]
最佳答案
第一个日志按原样显示结构,即结构的实时表示形式,第二个日志显示结构的字符串表示形式。
> var arr = [{}, {}, {}];
> arr // simply logs the object as it is
> [Object, Object, Object]
> arr + '' // converts the structure into string
> "[object Object],[object Object],[object Object]"
在将字符串与对象连接时会得到以下结果:
"$scope.usersNotFiltered :: " + users
在上面的代码片段中,JavaScript将结构转换为字符串(原始值),并且对象的字符串表示形式为
[object Object]
。由于结构是对象数组,因此每个元素的字符串表示形式都与,
结合在一起。通过调用Array.prototype.toString()
或Array.prototype.join()
方法,您将获得类似的结果:> var arr = [1, 2, 3];
> arr.toString()
> "1,2,3"
> var arrayOfObjects = [{}, {}, {}];
> arrayOfObjects.toString()
> "[object Object],[object Object],[object Object]"
关于javascript - Chrome控制台中的 '[Object]'和 '[object Object]'有何区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30025123/