一、引言 前面我們討論了函數的一些基本概念,因為函數在任何一門語言之中都是很重要所以還是要好好學。昨天打開博客的時候看到有人私信我的JavaScript寫錯了,我定睛一看果然寫錯了。對此我表示很抱歉,希望大家能夠看得時候多噴我兩句就忘了這件事吧。 二、導入 今天我們要討論一下有關於對象的內容,我們首 ...
一、引言
前面我們討論了函數的一些基本概念,因為函數在任何一門語言之中都是很重要所以還是要好好學。昨天打開博客的時候看到有人私信我的JavaScript寫錯了,我定睛一看果然寫錯了。對此我表示很抱歉,希望大家能夠看得時候多噴我兩句就忘了這件事吧。
二、導入
今天我們要討論一下有關於對象的內容,我們首先要接觸的就是一些內置的對象。
三、重點內容
① 對象:
W3C上面寫道:“屬性的無序集合,每個屬性存放一個原始值、對象或函數。因為在JS當中沒有真正類所以把類定義描述為對象的配方。我們也把對象定義叫做類,因為大多數開發者對此術語更熟悉,而且從功能上說,兩者是等價的“”
② 內置對象:
內置對象就是系統已經幫我們定義好的對象(類似於Math,Date,Array等)。
③ Math對象方法:
1) Math.ceil(): 天花板函數,向上取整。
console.log(Math.ceil(9.9));
2) Math.floor(); 地板函數,向下取整。
console.log(Math.floor(9.9));
3) Math.abs(); 獲取數值的絕對值。
console.log(Math.abs(-9.9));
4) Math.random(); 獲取0-1的隨機數。
console.log(Math.random());
5) Math.pow(); 獲取x的y次冪。
console.log(Math.pow(10,2));
6) Math.max(); 獲取兩個數中的最大值。
console.log(Math.max(10,20));
7) Math,min(); 獲取兩個數中的最小值。
onsole.log(Math.min(10,20));
④ Date對象方法:
1) 轉換日期:
var date = new Date(2016,06,10); console.log(date);
2) 返回1970年1月1日午夜到指定日期(字元串)的毫秒數。
var date = Date.parse("2016-08-02") console.log(date);
3) 直接獲取日期的毫秒
- Html5格式的
var date = Date.now(); console.log(date);
2. 推薦格式的
var date = +new Date(); console.log(date);
4) 獲取日期的指定部分
- 返回4位數的年份
var year = date.getFullYear(); console.log(year);
2. 返回月份從0開始
var month = date.getMonth(); console.log(month);
3. 返回當月的的第幾天
var day = date.getDate(); console.log(day);
4. 返回0-23的小時數
var hours = date.getHours(); console.log(hours);
5. 返回0-59的分鐘數字
var minutes = date.getMinutes(); console.log(minutes);
6. 返回0-59的秒數
var seconds = date.getSeconds(); console.log(seconds);
7.返回毫秒數和valueOf()結果一樣
var Milliseconds = date.getTime(); console.log(Milliseconds);
8. 返回毫秒數字
var Milliseconds = date.getMilliseconds(); console.log(Milliseconds);
9. 返回星期幾
var day = date.getDay(); console.log(day);
⑤ Array 對象方法:
1) Slice方法:slice(start,end) [start end)(取頭不取尾)
- end 的取值為正值的時候:
從start開始取,取不到end
console.log(arr.slice(0,2));
2. end 的取值為負值的時候:
如果end為負數,表示索引為數組的長度+負數
console.log(arr.slice(0,-2));
2) 轉換數組:
- toString 把數組轉化成字元轉。
console.log(arr.toString());
2. valueOf 返回數組對象本身
3) 獲取數組中某元素的索引
- indexOf 返回數組的下標(其中有兩個元素的情況)
a) 一個參數:
console.log(arr1.indexOf(1));
b) 兩個參數:第二個參數規定開始檢索的位置
console.log(arr1.indexOf(1,2));
4) 追加和刪除
- push(); 添加到數組的最後面。
arr.push("abc");
console.log(arr);
2. pop(); 刪除數組的最後一個。
arr.pop();
console.log(arr);
3. shift(); 刪除數組的最前面的一個。
arr.shift();
console.log(arr);
4. unshift(); 添加在數組的最前面。
arr.unshift(1);
console.log(arr);
5) 數組排序
- reverse(); 翻轉數組中的元素。
arr.reverse();
console.log(arr);
2. sort(); 將數組中的元素排序
arr.sort(function(a,b){ return a-b; }); console.log(arr);
6) 數組迭代
- filter(); 返回值為true的留下,返回值為false的捨去
var arr = arr.filter(function(element,inedx,num){ if(element<5){ return true }else{ return false; } });
console.log(arr);
2. forEach(); 便利迴圈數組裡的每一個元素
var arr3= arr.forEach(function(element,index,num){ console.log(element); console.log(index); })
7) 數組清空
- array.splice(0,arr.length); 刪除數組中的所有項目
- array.length=0; length可讀可複製,賦值為0清空數組
- array = []
8) 操作數組
- join() 將數組中的元素通過制定符號連成字元串
var arr4 = arr.join("|") console.log(arr4)
2. concat(); 連接兩個數組
var arr5 = arr.concat(arr2); console.log(arr5);
3. slice從當前數組中截取一個新的數組,不影響原來的數組。參數start從0開始,end從1開始,end截取不到。
var arr6 = arr.slice(0,3) console.log(arr6);
4. 刪除或替換當前數組的某些項目,參數start,deleteCount,options(要替換的項目),
var arr7 = arr.splice(0,3); console.log(arr7);
⑥ 字元串部分:
1) 獲取字元串中的索引:
- inidexOf 返回指定內容在字元串中的位置
console.log(str.indexOf("W"));
2. lastIndexOf 從後向前找,只找第一個匹配的
console.log(str.lastIndexOf("l"));
2) 去除空白:trim()只能去除字元串前後的空白
var str1 = " Hello World " console.log(str1); console.log(str1.trim());
3) 字元串轉換大小寫:
- 轉大寫 toUpperCase()
console.log(str.toUpperCase());
2. 轉小寫 toLowerCase()
console.log(str.toLowerCase());
4) 字元串操作方法:
- concat(); 拼接字元串,等效於+,+更常用
console.log(str.concat(str1));
2. slice(); 從start位置開始,截取到end位置,end取不到
console.log(str.slice(0,3));
3. substring();從start位置開始,截取到end位置,end取不到
console.log(str.substring(0,3));
4. substr(); 從start位置開始,截取length個字元,只有一個就參數就截取到最後
console.log(str.substr(0,4));
5. replace();替換字元串的某元素,並返回替換後的字元串
console.log(str.replace("H","h"));
6. split();將字元串分割(轉換)成數組
console.log(str.split(0,4));
7. 需要區分是的是substring();substr();slice()
a) 當只有一個正參數的時候:
都返回的是從正參數開始後面的字元串
console.log(str.slice(1)); console.log(str.substr(1)); console.log(str.substring(1));
b) 當只有一個負參數的時候:
console.log(str.slice(-1));/傳入負數,相當於傳入length + (-1),倒著取,相當於倒著取兩個 console.log(str.substr(-1));傳入負數,相當於傳入length + (-1) // 倒著截取 console.log(str.substring(-1));傳入負數,相當於傳入0 相當於全部截取
c) 當有兩個正參數的時候
console.log(str.slice(0,1));取指定索引數 console.log(str.substr(0,1));截取指定字元數 console.log(str.substring(0,1));取制定索引的數
d) 當有一正一負的時候
console.log(str.slice(0,-1));第二個參數,也相當於 length + (-1) console.log(str.substr(0,-1));第二個參數,如果傳入負數相當於0 截取不到,為空 console.log(str.substring(1,-5));第二個參數,如果是負數相當於0,但是此方法會把從兩個參數中最小的值作為起始值開始截取
四、總結
感覺一口氣總結完有點累,希望大家可以有所補充。