这是在统计字符串出现字符和次数的学习的时候出现的问题:
就是在一个循环里面想要给对象添加不同属性的时候,
我用了对象.这个操作。但是没有办法成功解决问题。
然后换成对象[]的时候就可以了,去搜了一下,大概看出来了相对应的原因。
下面po自己成功的案例和转载的内容吧。
反正就是不能用成o.chars 只能用o[chars] 据说是灵活运用的话只能这样。以后可以直接一直这样用就行
var str = 'asdaskjahfkznxkcnbiagefiugqiewgbfiquwyheuiqotgifvbzjhxvcmzbxkcdukqhwoiduqodqwertyuiopasdlakjfghjkzzx,cm';
var o = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i);
if (o[chars]) {
o[chars]++;
} else {
o[chars] = 1;
}
}
console.log(o);
㈠属性名
var obj = new Object();
向对象中添加属性
⑴属性名:
- 对象的属性名不强制要求遵守标识符的规范
什么乱七八糟的名字都可以使用
- 但是我们使用时还是尽量按照标识符的规范去做
示例:obj.name = "林黛玉"
⑵如果要使用特殊的属性名,不能采用 . 的方式来操作
需要使用另一种方式:语法:对象["属性名"] = 属性值
读取时也需要采用这种方式
示例:
⑶使用[ ] 这种形式去操作属性,更加的灵活;
在[ ]中可以直接传递一个变量,这样变量值是多少就会读取哪个属性