2.重学javascript 对象和数组
什么是对象,其实就是一种类型,即引用类型。
一、创建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个元素,超出即会发生异常。