zoukankan      html  css  js  c++  java
  • javascript 引用类型

    1  Object 类型

    var person = new Object() ; person.name = "summer"; 和 var person = {name:'summer'};是等价的。

    2  Array 类型

    (1)var colors = new Array(); 和 var colors = Array();和var colors = []; 是等价的。

    (2)数组中的length 属性不仅是只读的,即通过设置这个属性,可以从数组的末尾移除项或添加新项。

    实例1:

    var colors = ['red' , 'blue' , 'green'];

    colors.length = 2;

    alert(colors[2]); //undefined

    实例2:

    var colors = ['red' , 'blue' , 'green'];

    colors.length = 4;

    alert(colors[3]); //undefined,但是数组已经增加
    colors[colors.length] = 'black';//数组上再加一个

    实例3:

    var colors = ['red' , 'blue' , 'green'];

    colors[99] = 'black';

    alert(colors.length); //100

    (3)检测数组:value instanceof Array  和 Array.isArray(value)  

    (4)装换方法:toLocalString()、toString()、valueOf()以及join

    实例1:

    var colors = ['red' , 'blue' , 'green'];

    alert(colors.join("||")); //red||green||blue

    (5)栈方法(LIFO)后进先出:colors.push("red","green"......)(加在后面)和colors.pop()(从后面开始删除)

    (6)队列方法(FIFO)先进先出:colors.unshift("red","green"......)(加在前面)和colors.unshift()(从前面开始删除)

    (7)重排方法:reverse()和sort()

    实例1:

    var values = [1,2,3,4,5]'

    values.reverse();

    alert(values);//5,4,3,2,1

    实例2:

    var values = [0,1,5,10,15]'

    values.sort();

    alert(values);//0,1,10,15,5  由于sort没有传递参数,是按照字符串来排列

    实例2:

    function compare(value1,value2){

      if(value1 < value2){

        return -1;

      }else if(value1 > value2){

        return 1;

      }else{

        return 0;

      }

    }

    var values = [0,1,5,10,15];

    values.sort(compare);//传入函数参数

    alert(values);//0,1,5,10,15

    (8)操作方法:concat()、slice()、splice()

    concat():基于当前数组中的所有项创建一个新数组

     实例1:

    var colors = ['red','green','blue'];

    var colors2 = colors.concat('yellow',['black','brown']);

    alert(colors);//red,green,blue

    alert(colors2);//red,green,blue,yellow,black,brown

    slice():基于当前数组中一个或多个项创建一个新数组

     实例2:

    var colors = ['red','green','blue','yellow','purple'];

    var colors2 = colors.slice(1);//一个参数,从1开始到结束 

    var colors3 = colors.slice(1,4);//两个参数,从1到4,不包括结束项

    alert(colors2);//green,blue,yellow,purple

    alert(colors3);//green,blue,yellow

    splice():删除、插入、替换(splice() 方法始终都会返回一个数组,该数组包含从原始数组中删除的项,如果没有删除项,返回空数组)

    删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数,如splice(0,2)会删除数组中的前两项

    插入:可以向指定位置插入任意数量的项,只需要提供3个参数:起始位置、0(要删除的项数)和要插入的项。如splice(2,0,"red","green","yellow".....)会从当前数组的位置2开始插入后面的字符串

    替换:可以向指定位置 插入任意数量,而且同时删除任意数量的项,只需指定3个参数:起始位置、要删除的项数和要插入的任意数据的项。插入的项数不必与删除的项数相等。如splice(2,1,"red","green"....)

     实例3:

    var colors = ['red','green','blue'];

    var removed= colors.splice(0,1);

    alert(colors );//green,blue

    alert(removed );//red

    removed= colors.splice(1,0,"yellow","orange");

    alert(colors );//green,blue,yellow,orange

    alert(removed );//空

    removed= colors.splice(1,1,"red","purple");

    alert(colors );//green,red,purple,orange,blue

    alert(removed );//空

    (9)位置方法:indexOf() 和 lastIndexOf(),这两个方法都接收两个参数,要查找的项和(可选的)表示查找起点位置的索引。indexOf()从数组的开头开始向后查找,lastIndexOf() 则从数组的末尾开始向前查找。返回查找项在数组中的位置,没有则返回-1,用的是全等操作符,即严格相等。

    (10)迭代方法:every()、filter()、forEach()、map()、some()

    (11)归并方法:reduce()和reduceRight()

  • 相关阅读:
    WPF 中 TextBlock 文本换行与行间距
    WPF中TextBox文件拖放问题
    WPF 自定义鼠标光标
    矩形覆盖
    跳台阶和变态跳台阶
    用两个栈实现队列
    重建二叉树
    从尾到头打印链表
    替换空格
    斐波那契数列
  • 原文地址:https://www.cnblogs.com/summerzi/p/4143427.html
Copyright © 2011-2022 走看看