在js基础训练中刷题时,遇到了下面这样的情况:
题目基本要求:
正确代码:
正确输出:
错误代码,注意比较:
但是据我们所知:
在js中获取对象的属性值时,可以通过两种方式:
例:
定义一个对象 var student = { name : "Tom", finish_work : true };
获取对象的属性值:
- name = student.name;
- name = student['name'];
以上两种方法均是可行的,但是再回顾上面比较的两个代码,不免产生疑问,原来这里涉及到了json里面的一个知识点:
当对象中的属性值为一个数组时,会自动调用 json 中的 stringify() 函数,将数组内容解析成一个字符串,这时再利用数组下标访问时,访问的其实是一个字符串数组,所以结果自然会出错。
下面是关于json的一些入门知识,有兴趣的小伙伴可以在网上搜一下 json:
json教程|菜鸟教程