javascript Object與Array用法

引用類型:引用類型是一種數據結構,用於將數據和功能組織在一塊兒。引用類型的值是引用類型的一個實例數組

 

1、Object數據結構

ECMAScript中的對象其實就是一組數據和功能的結合。函數

Object類型實際上是全部它的實例的基礎,換句話說,Object類型全部具備的任何屬性和方法也一樣存在於更具體的對象中。spa

constructor屬性:該屬性保存了用於建立當前對象的函數,即當前對象的構造函數,object類型的構造函數就是Object()prototype

hasOwnProperty方法:用於檢查給定的屬性是否存在於當前對象的實例中,而不是實例的原型中code

isPrototypeOf方法:用於檢查對象object1(父)是否存在於另外一個對象object2(子)的原型鏈中對象

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

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

 


2、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]
相關文章
相關標籤/搜索