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]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM