javascriptで踏んだ穴を記録します.
1639 ワード
console.log(obj["moviesIndex "]);//1
// console.log(obj.moviesIndex);//undefined
var obj11 = {
"indesxsx":"1111"
}
console.log(obj11.indesxsx)1111
ここに「…moviesIndex={index}」というスペースがあります.
{
「moviesIndex」:「1」、/ここの「moviesIndex」にはスペースがありますので、keyはmoviesIndexではなく、moviesIndexにスペースを入れます.
)
ここで3時間かかりました.小さいバグを探して記録してください.
ここにcsdnで探している資料の一つの知識点が付いています.
本論文のリンク:https://blog.csdn.net/qq_34268861/articale/detail/80785327
1、変数ではありません
var obj = {};
obj.AttrName = 'Tom'
注意:通過 オブジェクト・属性名 属性値を取得する場合、属性名は変数ではありません.2、変数でもいいです
元のデータ配列:
var rawDataList =
[
{
"countDate": "2018-04-08",
"countNum": "2"
},
{
"countDate": "2018-04-18",
"countNum": "2"
},
{
"countDate": "2018-04-23",
"countNum": "7"
}
]
上記データを処理する:function Day2Mon2Year(dataList,prop){
for(var i = 0; i < dataList.length; i++){
var obj = rawDataList[i]
// :Uncaught TypeError: Cannot read property 'replace' of undefined
var dateAttr = obj.prop
// : prop , .
var dateAttr = obj[prop]
}
}
// :Uncaught TypeError: Cannot read property 'replace' of undefined
Day2Mon2Year.(rawDataList,'countDate');
まとめ:一、属性名が
(固定値)であれば、属性値を取得する方法は、 .
[ ]
(固定されていない値)の場合、属性値の取得方法は、 [ ]