什么是对象,其实就是一种类型,即引用类型。
一、创建Object类型有两种。
①使用new运算符
<script type="text/javascript">
var box = new Object();
box.name = '李四';
box.age = 28;
//new 关键字可以省略
var box = Object();
</script>
②字面量表示法(常用的方法)
<script type="text/javascript">
var box = {
name: '张三',
age:28
}; //使用字面量及传统赋值方式
var box={}; box.name = '张三',
box.age = 28;
</script>
二、两种属性输出方式
<script type="text/javascript">
alert(box.age);
alert(box['age']);
</script>
三、使用delete删除对象属性
deletebox.name;
四、给对象创建方法
<script type="text/javascript">
var box = {
run: function(){
return '运行';
}
};
alert(box.run());
</script>
<script type="text/javascript">
//参数是一个对象
function box(obj){ //判断属性是否存在
if(obj.name != undefined) alert(obj.name);
if(obj.age != undefined) alert(obj.age);
} //调用函数传递一个对象
box({
name: '王五',
age: 24
});
</script>
五、数组
①创建Array类型有两种方式:
1>.第一种是new运算符(可以省略new)
<script type="text/javascript"> //创建了一个数组
var box = new Array(); //创建一个包含10个元素的数组
var box = new Array(10); //创建一个数组并分配好了元素
var box = new Array('占三', 28, '工人', '中国');
</script>
2>.第二种是字面量。
<script type="text/javascript">
//创建一个空的数组
var box = [];
//创建包含元素的数组
var box = ['王五' ,30, '码农', '中国'];
//禁止这么做,IE会识别3个元素
var box = [1,2,];
//同样,IE的会有识别问题
var box = [,,,,,,]; //PS:和Object一样,字面量的写法不会调用Array()构造函数。(Firefox除外)。
</script>
3>.使用索引下标来读取数组的值
<script type="text/javascript">
//获取元素个数
alert(box.length)
//强制元素个数
box.length=10;
//通过length给数组增加一个元素。
box[box.length]='JS 技术';
</script>
4>.创建一个稍微复杂一点的数组
<script type="text/javascript">
var box=[
{ //第一个元素是一个对象
name:'李炎恢',
age:28,
run:function(){
return'run 了';
}
},
['马云','李彦宏',new Object()],//第二个元素是数组
'江苏', //第三个元素是字符串
25+25, //第四个元素是数值
new Array(1,2,3) //第五个元素是数组
];
alert(box);
</script>
PS:数组最多可包含4294967295个元素,超出即会发生异常。