无法访问Javascript对象
问题描述:
我正在创建一个离子应用程序。我需要将一个对象的值存储到另一个变量中;对象数组的名称是username
。无法访问Javascript对象
这是username[0]
:
Object {username: "user1"}
这里我要的username
值存储到另一个$scope
变量。所以我做了如下:
$scope.username=$scope.username[0].username;
但是,它返回错误。为什么?以及如何解决它。
答
你有一个对象但您尝试访问它作为一个阵列与[0]
,因此将返回undefined
您可以用点号
obj.username
访问对象
或带括号的符号
obj["username"]
let username = {
username: "user1"
};
console.log(username.username);
console.log(username['username']);
答
好吧,如果username
是在你的代码中的第一个地方一个数组,你写的:
$scope.username=$scope.username[0].username;
所以要覆盖现有username
阵列与object
,然后下一次你会拨打$scope.username[0].username
它会失败并抛出一个错误:Can't read property username of undefined
因为username[0]
是undefined
在这里。
因此,您需要在范围中使用不同的变量来引用users
和username
。
答
试试这个
var obj = {username: "user1"};
$scope.username = obj.username;
,什么是错误? – Roope
我写了一些对象。有没有解释我为什么得到否定的投票? – camoflage