初探 js对象与数组
2016-04-26 09:21
411 查看
在js中,字符串下标的数组元素,不计入数组长度
以字符串下标形式添加到数组,实际是以属性形式添加到数组对象中的
当js数组中,如果字符串转换成整数类型,此时下标使用字符串或者整型 是等价的。如果下标是小数或者负数,则会转换成字符串。
在遍历数组时,会先遍历整型下标再遍历字符串下标。
结果为
如何为一个对象添加、修改或者删除属性和方法。在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译。JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如首先使用类Object来创建一个空对象user:
var user=new Object();
1.添加属性
这时user 对象没有任何属性和方法,显然没有任何用途。但可以为它动态的添加属性和方法,例如:
user.name=”ZDQ”;
user.age=21;
user.sex=”male”;
通过上述语句,user 对象便具有了三个属性:name、age和sex。
由以上代码可知,user已经或得三个属性,并且可以通过两种方法访问。
使用第二种方式还有一个额外的特点,就是可以使用非标识符字符串作为属性名称。
2.添加方法
添加方法的过程和属性类似:
这就为user 对象添加了一个方法”alert”,通过执行它,可以弹出一个对话框显示自己的名字介绍:
user.alert();
3.删除属性
删除一个属性的过程也很简单,就是将其置为undefined:
复制代码 代码示例:
user.name=undefined;
user.alert=undefined;
以字符串下标形式添加到数组,实际是以属性形式添加到数组对象中的
当js数组中,如果字符串转换成整数类型,此时下标使用字符串或者整型 是等价的。如果下标是小数或者负数,则会转换成字符串。
在遍历数组时,会先遍历整型下标再遍历字符串下标。
arr[5]=5; arr[3.3]=3; arr["z"]="zz"; arr["d"]="zzz"; arr[-23455]="fa"; arr["q"]="zzzz"; arr[12345]="zuida"; arr["12345"]="haha"; for(var i in arr) document.write(i+":'+arr[i]+<br>');
结果为
5:5 12345:haha 3.3:3 z:zz d:zzz -23455:fa q:zzzz fa
如何为一个对象添加、修改或者删除属性和方法。在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译。JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如首先使用类Object来创建一个空对象user:
var user=new Object();
1.添加属性
这时user 对象没有任何属性和方法,显然没有任何用途。但可以为它动态的添加属性和方法,例如:
user.name=”ZDQ”;
user.age=21;
user.sex=”male”;
通过上述语句,user 对象便具有了三个属性:name、age和sex。
for(var i in user) document.write(i+"\n"); document.write(user.name); document.write(user["age"]); document.write(user["sex"]);
由以上代码可知,user已经或得三个属性,并且可以通过两种方法访问。
使用第二种方式还有一个额外的特点,就是可以使用非标识符字符串作为属性名称。
2.添加方法
添加方法的过程和属性类似:
user.alert=function(){ document.write("my name is:"+this.name); }
这就为user 对象添加了一个方法”alert”,通过执行它,可以弹出一个对话框显示自己的名字介绍:
user.alert();
3.删除属性
删除一个属性的过程也很简单,就是将其置为undefined:
复制代码 代码示例:
user.name=undefined;
user.alert=undefined;
相关文章推荐
- Extjs 4.0.7 中模式窗口的CURD
- [Angular 2] Managing State in RxJS with StartWith and Scan
- 我对js原型链的理解
- JS跨域调用之document.domain--相同基础域名页面之间的调用
- Javascript的replace函数以及PHP中的str_replace()函数
- javaScript基础
- [置顶] javascript入门基础小案例-----按键盘的方向键来控制块的移动z注释:
- JS字符串与对象互相转换
- JSON格式化
- rails提供跳转js的ajax实例分析特殊情况
- JavaScript事件处理的方式(三种)
- js 求时间差的实现代码
- js计算时间差代码【包括计算,天,时,分,秒】
- js获取页面及个元素高度、宽度的代码
- 深入理解JS中的substr和substring
- javascript锚点
- javaScript中parseFloat()结果精度不一致的问题
- js闭包
- 如何用js判断一个复选框是否被选中
- ServletContext JSP