js 万物皆对象的问题

各位好,由于鄙人js基础较差,在工程中遇到基础问题较多,尤其是“万物皆对象”这个理念。
就比如:

1、
$scope.dataArr={};
我要为其增加属性,$scope.dataArr.currTopic=xxxx就是错误的;
然而$scope.dataArr[currTopic]是正确的。

2、
$scope.dataArr 中有一个key 名为 currTopic,初始value为[ ]。
我要为currTopic的value增加值,即想push元素到[ ]中去。
使用$scope.dataArr.currTopic.push( xxx ) 又是错误的。
$scope.dataArr[currTopic].push( xxx ) 是正确的。

这是为什么?

阅读 1.8k
2 个回答

点访问和[]访问属性是一样的,并不会报错,测试结果下图:
图片描述

请贴出错误提示信息

var $scope={};
$scope.dataArr={};
$scope.dataArr.currTopic="XXXXX";
$scope.dataArr["currTopic"]="YYYYYY";

$scope.dataArr.currTopic=[];
$scope.dataArr.currTopic.push("AAAAAAA");
$scope.dataArr["currTopic"].push("BBBBBB");
推荐问题