zoukankan      html  css  js  c++  java
  • javascript Object与Array用法

    引用类型:引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型的值是引用类型的一个实例

    一、Object

    ECMAScript中的对象其实就是一组数据和功能的结合。

    Object类型其实是所有它的实例的基础,换句话说,Object类型所有具有的任何属性和方法也同样存在于更具体的对象中。

    constructor属性:该属性保存了用于创建当前对象的函数,即当前对象的构造函数,object类型的构造函数就是Object()

    hasOwnProperty方法:用于检查给定的属性是否存在于当前对象的实例中,而不是实例的原型中

    isPrototypeOf方法:用于检查对象object1(父)是否存在于另一个对象object2(子)的原型链中

    toString()方法:返回对象的字符串表示

    valueOf()方法:返回对象的字符串、数值或者布尔值的表示

    两种创建方式:

    var o = new Object()  
    
    var o = {
    
      age : 22,
    
      name :  "小明"
    
    }

    操作方法:

    增:o.sex = "男";  o.eat = function () {};
    
    删:delete o.age;
    
    改:o.age = 23;
    
    查:o.name;  o[name];  (用于变量)
    
    引用: var other = o;  other.age = 24;  console.log(o.age)  //24  o和other指向的是同一个对象。

    原型:每个对象都连接到一个原型对象并可以从中继承属性和方法。所有通过对象字面量创建的对象都连接到Object.prototype

    当我们尝试去获取某个对象的属性时,如果不能从该对象中获取到,那么js会试着向上从其原型对象中获取属性值,直到到达终点Object.prototype,如果也没找到那就是undifined。

    原型连接在更新时是不起作用的。当我们对某个对象做出改变时,不会触及该对象的原型

    事例:

    Object.prototype.sex = "男";
    var o = {
      age : 22
    };
    console.log(o);    // {age : 22}
    console.log(o.sex);  o.sex  //"男"
    
    var result = o.hasOwnProperty("age");  //true
    var result = o.hasOwnProperty("sex");  //false


    二、Array

    var arr = ["a","b","c","d","e"]  js中的数组的每一项可以保存任何类型的数据;

    操作方法:

    var arr = ["a","b","c","d","e"]; 

    1.转换方法        

    var result = arr.toString();  //"a,b,c,d,e"
    
    var result = arr.join();  //"a,b,c,d,e"  var result = arr.join("");  //"abcde"  join默认是按","来分割的

     2.栈方法        

    arr.push("f");  console.log(arr);  //["a","b","c","d","e",f"]
    
    arr.pop();    console.log(arr);  //["a","b","c","d"]

    3.队列方法

    arr.unshift("f");  console.log(arr);  //["f","a","b","c","d","e"]
    
    arr.shift();  console.log(arr);  //["b","c","d","e"]

    4.位置方法

    var result = arr.indexOf("a");  console.log(result);  //0

    5.操作方法

    arr.splice(3,1); //删除  console.log(arr);  //["a","b","c","e"]
    
    arr.splice(3,1,"f"); //替换  console.log(arr);  //["a","b","c","f","e"]
    
    arr.splice(3,0,"f"); // 插入  console.log(arr);  //["a","b","c","f","d","e"]
    
    var result = arr.slice(2,4);//潜复制  console.log(result)  //["c","d"]

    6.排序方法

    var arr1 = [5,9,3,4,6];
    
    var result = arr1.reverse();  console.log(result);  //[6,4,3,9,5]
    
    var result = arr.sort(function(a,b){return a-b});  console.log(result);  //[3,4,5,6,9]

    7.合并方法

    var arr1 = ["a","b"];  var arr2 = ["c","d"];  var result = arr1.concat(arr2);  console.log(result);  //["a","b","c","d"]

    数组也是引用类型的,两个变量指向同一个数组:

    var arr1 = arr;  arr1.push(1);  console.log(arr);  //["a","b","c","d",1]
  • 相关阅读:
    作业帮:最长连续序列(头部插入)
    作业帮:字符串反转(头部插入)
    作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)
    JVM系列之七:HotSpot 虚拟机
    JVM系列之六:内存溢出、内存泄漏 和 栈溢出
    JVM系列之四:运行时数据区
    JVM系列之五:垃圾回收
    JVM系列之三:类装载器子系统
    JVM系列之二:编译过程
    JVM系列之一:JVM架构
  • 原文地址:https://www.cnblogs.com/chaixiaozhi/p/6715174.html
Copyright © 2011-2022 走看看