我正在使用 angular js 读取 json。
但如果我使用“+=”,它会显示未定义。
var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
var ojt= JSON.parse(text);
var moduleA = angular.module("ModuleA", []);
moduleA.controller("MsgController", function ($scope) {
'use strict';
for(var i=0; i<3; i++) {
$scope.Message += ojt.employees[i].firstName;
}
});
结果是这样的:
undefinedJohnAnnaPeter
怎么了?
最佳答案
Message
是未定义的,然后你 +=
一些字符串到它上面,因此导致你的问题。预先将 $scope.Message
分配给空字符串以消除错误。
$scope.Message = ""
for(var i=0; i<3; i++) {
$scope.Message += ojt.employees[i].firstName;
}
编辑:如果您想在每个名称后添加新行,请在名称之间添加 \n
。
$scope.Message = ""
for(var i=0; i<3; i++) {
$scope.Message += ojt.employees[i].firstName + "\n";
}
关于javascript - 为什么它在数组之前显示未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35791031/