js数组

属性

标签上面的属性可以直接通过调用属性来设置
1、一个对象下面没有的属性返回undefined
2、只有对象才能去点方法点属性

Method DES
节点对象.getAttribute('attr') 获取属性
节点对象.setAttribute('src', '...') 设置属性
节点对象.removeAttribute('attr') 移除属性

获取样式

获取最终显示在网页上面的样式

Method 适用对象
getComputedStyle(box).width; Chrome、Firefox
box.currentStyle.width; IE
//例:兼容以上三种浏览器的方法
var box = document.getElementById("box");
        function getStyle(dom,attr){//定义传参函数
            if(dom.currentStyle){//判断是否为IE
                return dom.currentStyle[attr];
            }else{
                return getComputedStyle(dom)[attr];
            }
        }
        alert(getStyle(box,"width"));

数组

特点:

  1. 底层经过了一些优化,读取速度 会比对象对象快。
  2. 数组是有序列的集合,每一个存放的值叫元素,可以通过索引、下标、偏移。
  3. 数组可以装任意数据类型。
  4. 数组可容纳最大值2^32-1,4294967295。
  5. 当前索引没有元素返回undefined。

定义:

var arr = [1,2,3];//直接赋值法
var arr = new Array(1,2,3,4);//调用类,创建对象

判断数组:

Arry.isArray(arr);//直接判断
[] instanceof Array;//判断是否为同一个类

获取元素:

arr[index];//通过索引获取单个元素
arr[arr.length-1];//获取最后一个元素
arr.length;//查看个数

数组操作:

arr.push();//添加元素到末尾
arr.unshift();//添加元素在起始位置
arr.pop();//删除最后一个元素,返回被删除的元素
arr.shift();//删除第一个元素,返回被删除的元素
arr = [];//清空数组
arr.length = 0;//清空数组,同时保留了绑定的属性

in运算:
对象:判断左边属性(键)是否在对象当中
数组:判断当前索引位置是否被赋值

var arr1 = [1, 2];
arr1[0] = undefined;
arr1[1] = "this is slice";
arr1[20] = 10;
alert(0 in arr1);

数组剪裁(splice):
arr.splice();//返回被减掉的元素

参一:起始位置,当只有一个参数的时候从当前参数索引位置开始剪;
参二:剪多少个元素;
参三以上:替换被减掉的元素或插入在被减掉的元素的位置上面。

arr.splice(index);//从当前索引位置开始剪裁
arr.splice(index,num);//从当前索引位置开始剪裁num个元素
alert(arr.splice(2,1,"test","one"));//可用做替换,插入元素
alert(arr);

数组转换字符串

alert(typeof arr.toString());//转换为字符串
arr = arr.join("====");//转换为字符串
alert( arr.split("===="));//还原为数组
原文地址:https://www.cnblogs.com/zhuzq/p/9534600.html