关于js对象属性
2016-04-17 15:53
393 查看
由于之前编程遇到的问题,这里记录一下,免得忘记
其实这是个很简单的问题,但是我一直在犯二。。。。。。
对于选取对象属性,有2种方法 用.和用[]
var obj={
age:23;
name:"sss";
}
console.log(obj.age);
for(item in obj){
console.log(obj[item]);
}
以上程序是对的。
遇到的问题是这样的。
var obj={
age:23;//'age':23;
name:"sss";//'name':"sss"
}
console.log(obj[age]);
这样会报错。改成
console.log(obj[‘age’]);才可以。
所以说用.的时候,后面是一个指定的属性名称,而用[]的时候后面要么是一个变量,要么是一个属性名称的字符串表示。
一直脑子秀逗了,不能理解为什么直接age不行。。。
后来突然灵感一闪,是不是可以这样理解,用,的时候调用的是这个属性名称(和是不是字符串没有关系),而用[]的时候,调用的是这个属性的字符串名称或者说是变量,如果直接写obj[age]的话,age并不是对象的属性了,这里表示想用的是age这个变量,加上引号的时候,才能表示调用的属性名。
for(item in obj){
console.log(obj[item]);
}
之所以可以的话,应该是item是一个值为obj里面属性名的一个变量。即item = ”age“。。。。
大概就是这样。。。。。。
其实这是个很简单的问题,但是我一直在犯二。。。。。。
对于选取对象属性,有2种方法 用.和用[]
var obj={
age:23;
name:"sss";
}
console.log(obj.age);
for(item in obj){
console.log(obj[item]);
}
以上程序是对的。
遇到的问题是这样的。
var obj={
age:23;//'age':23;
name:"sss";//'name':"sss"
}
console.log(obj[age]);
这样会报错。改成
console.log(obj[‘age’]);才可以。
所以说用.的时候,后面是一个指定的属性名称,而用[]的时候后面要么是一个变量,要么是一个属性名称的字符串表示。
一直脑子秀逗了,不能理解为什么直接age不行。。。
后来突然灵感一闪,是不是可以这样理解,用,的时候调用的是这个属性名称(和是不是字符串没有关系),而用[]的时候,调用的是这个属性的字符串名称或者说是变量,如果直接写obj[age]的话,age并不是对象的属性了,这里表示想用的是age这个变量,加上引号的时候,才能表示调用的属性名。
for(item in obj){
console.log(obj[item]);
}
之所以可以的话,应该是item是一个值为obj里面属性名的一个变量。即item = ”age“。。。。
大概就是这样。。。。。。
相关文章推荐
- 堆优化 Dijstra单源最短路径算法 2(邻接表)
- js keyup、keypress和keydown事件 详解
- js笔记
- JS区分浏览器页面是刷新还是关闭
- Json----Jackson 下载地址
- javascript VS java
- js组件SlotMachine实现图片切换效果制作抽奖系统
- JSP原理和语法
- move.js
- jsp页面中的EL表达式不被解析的问题
- js实现鼠标监听
- JS中取二维数组中最大值的方法汇总
- 最简单js代码实现select二级联动下拉菜单
- JS正则表达式——学习笔记
- JavaScript专业规则12条
- JS基础回顾(二)--数组
- 使用Jsoup对豆瓣读书进行爬虫
- HDU 2112.HDU Today【最短路径(Dijsktra算法+字符串)】【4月17】
- JavaScript简介
- JavaScript常见调试方法