09.19 JS基礎知識點(二)

在上一篇文章《JS基礎知識點(一)》中我們學習了什麼是js、js寫法、js數據類型、js的函數。在本篇文章中我們將學習重要的部分:面向對象以及常用對象(math、date、string等)的方法

JS基礎知識點(二)

  • 面向對象

面向對象特性:封裝,繼承,多態----抽象性

對象:對象應該有特徵(屬性)和行為(方法),特指的某個事物

  • 創建對象的3種方式

1. 通過調用系統的Object構造函數創建對象

var 對象名字=new Object();

Object實際上就是一個函數,函數名首字母是大寫的

第一種方式,添加屬性和方法,非常簡單,沒有什麼,直接.(點)就可以了

添加屬性:

對象.屬性名字=值;---->設置屬性的值

例子:

obj.name="小三";

添加方法:

對象.方法名字=匿名函數;

例子:

obj.eat=function(){};

2. 自定義構造函數創建對象

function 大寫字母的一個名字(){}

1.在內存開闢一塊空間的空間(向內存申請一塊空間的空閒)

2.把this設置為當前的對象(舉例子)

3.設置該對象的屬性和方法的值

4.把this作為當前對象返回

function Person(name,age){

this.name=name;

this.age=age;

this.sayHi=匿名函數;

}

var per=new Person("小白",23);

3.字面量的方式創建對象

var obj

= {

name: "小明",

age: 10,

sayHi: function () {

console.log("我叫:" + this.name);

}

};

obj.sayHi();

var obj={

屬性名字:值,

屬性名字:值,

方法名字:匿名函數

};

JS基礎知識點(二)

  • 對象中屬性或方法的調用

對象中的屬性或者是方法,不僅可以通過點語法的方式獲取或者設置,同時可以使 用鍵值對的方式進行設置或者是獲取

  • 對象的遍歷

對象一般通過for-in循環遍歷

for(var 變量名字 in 對象名字){

console.log(變量名字);

//變量名字中存儲的是該對象中屬性的名字

}

  • JSON格式數據

var json={

鍵:值,

鍵:值,

};

擴展:JSON數據:格式化的一種數據(指定格式的一種數據,都是鍵值對的方式)

JSON格式的數據:成對的,一般都是用雙引號括起來的

var obj2={

"name":"雛田",

"age":"20",

"sex":"男"

};

//JSON格式的數據,一般在js中都是通過for-in循環遍歷的

for(var key in obj2){

console.log(

key+"===="+obj2[key]);

}

  • JS對象分類

js中的對象分為:內置對象(系統自帶的對象),自定義對象,瀏覽器對象window

Object/Math/Date/Array.....

  • (內置對象)Math對象

Math--->是內置對象,不是函數

Math.abs()---->絕對值

Math.max()---->一坨數字中的最大值

Math.min()---->一坨數字中的最小值

Math.ceil()--->向上取整

Math.floor()--->向下取整

Math.PI---->π的值

Math.random()--->獲取隨機數---->偽隨機數,0-1之間,沒有1,有0

  • (內置對象)Date對象

Date--->是內置對象,是函數

var dt=new Date();

dt.getFullYear()--->年份

dt.getMonth()--->月份

dt.getDate()--->幾號

dt.getHours()--->小時

dt.getMinutes()--->分鐘

dt.getSeconds()--->秒

new Date().toLocaleDateString();//日期

new Date().toDateString();//日期

new Date().toLocaleTimeString();//時間

new Date().toTimeString();//時間

JS基礎知識點(二)

  • String對象下的方法

.charAt(索引);--->返回的是指定索引位置的字符串

.charCodeAt(索引);--->返回的是指定索引位置的字符串的ASCII值

.concat("字符串1","字符串2",...)--->字符串拼接.返回新的字符串

.indexOf("要查找的字符串",開始的位置的索引);索引可以省略,返回的是查找後字符串的索引值,找不到則返回-1

.slice(開始的位置,結束的位置);----返回的是截取後的字符串

.lastIndexOf("要查找的字符串",開始的位置)--->從後向前找字符串,找到了就是索引,找不到就是-1

.replace("要替換的字符串","替換後的字符串");----替換後新的字符串

.subStr(開始的索引,截取字符串的長度);返回的是截取後的字符串

.subString(開始的索引,結束的索引);返回的是截取後的字符串

.trim()去掉字符串兩端的空格,中間的空格不能去掉

.split("要切掉的字符串",想要幾個字符串);返回的是一個字符串的數組

.toLocaleLowerCase();轉小寫

.toLocaleUpperCase();轉大寫

.charAt(索引);返回的是索引對應的字符串

.charCodeAt(索引);返回的是索引對應的字符串的ASCII碼值(十進制)

.concat("新的字符串","其他字符串",...);

.slice(開始索引,結束索引);從指定位置開始提取字符串,到指定位置的前面

.substring(開始位置,結束位置);從指定位置開始提取字符串,到指定位置的前面

.substr(開始位置,字符串的截取個數);從指定位置開始截取,截取多少個字符串

.indexOf(字符串);獲取的是該字符串的索引位置,如果找不到則返回-1

.lastIndexOf(字符串);從後向前找字符串,索引依然是從前向後

.trim()幹掉字符串前後的空格

.toLocaleUpperCase()把字符串從小寫轉大寫的

.toLocaleLowerCase();把字符串從大寫轉小寫

.replace(原來的字符串,"新的字符串");替換字符串的

.split("要幹掉的字符串");返回的是一個新的數組

  • 創建數字的方式

1. 通過調用系統的構造函數 Array

var arr1=new Array(); //空數組

2.通過字面量的方式

var arr2=[]; //空數組

3.通過調用系統的構造函數,設置初始的數組的長度

var arr3=new Array(3); //undefined

.isArray(變量);返回的是布爾類型,如果是true則是數組,否則就不是數組

  • Array中的方法

.push(數據);向數組中追加一個數組,如果接收這個方法了,結果是追加數據後的數組的長度

.shift();刪除數組中的第一個數據,返回值是刪除後的那個數據值

.pop();刪除數組中的最後一個數據,返回值是刪除後的那個數據值

.unshift();向數組中第一個元素前面插入一個數據,返回值是插入數據後數組的新的長度

.reverse();反轉數據數據

.sort();排序,但是不穩定

.slice(開始索引,結束索引);截取原數組中的數據,然後組成一個新的數組

.splice(開始的位置,刪除的個數);返回值是刪除後的數據組成的新數組,原來的數據的數據改變了

.splice(開始的位置,刪除的個數,參數1,參數2...);是把數組中刪除的位置用新的參數替換了

.indexof(要查找的數據);找到了就是索引,找不到就是-1

.join("字符串");返回值還是字符串,是把數組元素中間加上一個字符串,最終產生一個新的字符串

當一個函數參數的時候,這個函數就叫回調函數

.filter(回調函數);返回的是符合條件的篩選後的數據,組成的新數組


分享到:


相關文章: