javascript 基礎4

一、構造函數

構造函數

一般使用大寫字母開頭,以便把本身和其餘普通函數區別開。在 構造函數 中, this 指向被此 構造函數 建立出來的 對象javascript

var Car = function() {
  this.wheels = 4;
  this.engines = 1;
  this.seats = 1;
};

使用構造函數時,咱們經過在它前面使用 new 關鍵字 來對它進行調用。要使用 new 關鍵字 去調用構造函數。由於只有這樣,Javascript才知道這是要去構造一個新 對象 ,而且把構造函數中的 this 指向這個新對象。向 構造函數 中添加 參數能夠在調用 構造函數 時傳入一組 參數。java

var Car = function(wheels,seats,engines) {
  //Change this constructor
  this.wheels = wheels;
  this.seats = seats;
  this.engines = engines;
};

//Try it out here
var myCar =  new Car(6,3,1);

私有屬性

構造函數 中,使用咱們熟悉的 var 關鍵字去建立變量,來替代咱們使用 this 建立 屬性數組

var Bike = function() {

  // 只能在這一行下面寫代碼
  var gear = 5;        //私有屬性gear,下面定義兩個公用方法對gear進行訪問
  this.getGear = function(){
    return gear;
  };
  this.setGear = function(value){
    gear = value;
  };
  
};

二、數組迭代方法

map 方法會迭代數組中的每個元素,並根據回調函數來處理每個元素,最後返回一個新數組。注意,這個方法不會改變原始數組。函數

var oldArray = [1,2,3,4,5];
//新數組在原始數組基礎上每一個元素加3
var newArray = oldArray.map(function(val){
  return val+3;
});

reduce 方法用來迭代一個數組,而且把它累積到一個值中。使用 reduce 方法時,你要傳入一個回調函數。reduce 方法有一個可選的第二參數,它能夠被用來設置累加器的初始值。若是沒有在這定義初始值,那麼初始值將變成數組中的第一項,而 currentVal 將從數組的第二項開始。this

var array = [4,5,6,7,8];
var singleVal = 0;
//求數組之和
singleVal = array.reduce(function(previousval,currentval){
  return previousval+currentval;
});

filter 方法用來迭代一個數組,而且按給出的條件過濾出符合的元素。filter 方法傳入一個回調函數,這個回調函數會攜帶一個參數,參數爲當前迭代的項(咱們叫它 val )。回調函數返回 true 的項會保留在數組中,返回 false 的項會被過濾出數組。spa

var oldArray = [1,2,3,4,5,6,7,8,9,10];
//獲取原始數組中小於6的元素
var newArray = oldArray.filter(function(val){
  return val < 6;
});

三、排序方法

使用 sort 方法,你能夠很容易的按字母順序或數字順序對數組中的元素進行排序。與咱們以前用的數組方法僅僅返回一個新數組不一樣, sort 方法將改變原數組,返回被排序後的數組。sort 能夠把比較函數做爲參數傳入。比較函數有返回值,當 a 小於 b,返回一個負數;當 a 大於 b,返回一個正數;相等時返回0。若是沒有傳入比較函數,它將把值所有轉成字符串,並按照字母順序進行排序。code

var array = [1, 12, 21, 2];
array.sort(function(a, b) {
  return a - b; //升序排列
});
array.sort(function(a, b) {
  return b - a; //降序排列
});

四、翻轉數組

你可使用 reverse 方法來翻轉數組。對象

var myArray = [1, 2, 3];
myArray.reverse();

五、合併數組

concat 方法能夠用來把兩個數組的內容合併到一個數組中。concat 方法的參數應該是一個數組。參數中的數組會拼接在原數組的後面,並做爲一個新數組返回。排序

var oldArray = [1,2,3];
var newArray = [];
var concatMe = [4,5,6];
newArray = oldArray.concat(concatMe);

六、分割和鏈接字符串

var string = "Split me into an array";
var array = [];
// 分割字符串,返回數組
array = string.split(" ");

var joinMe = ["Split","me","into","an","array"];
var joinedString = ' ';
//鏈接符鏈接數組元素造成字符串
joinedString = joinMe.join(joinedString);
相關文章
相關標籤/搜索