1. 程式人生 > >javascript基礎加固5—-對象

javascript基礎加固5—-對象

tps color abs toupper 功能 屬性 空格 any 計數

2.1 什麽是對象

JavaScript 的所有數據都可以被視為對象,而每個對象都有其 屬性(properties)和 方法(methods)。

對象的 屬性 是反映該對象某些特定的性質的,例如:字符串的長度、圖像的長寬、文字框(Textbox)裏的文字等;

對象的 方法 能對該對象做一些事情,例如,表單的“提交”(Submit),窗口的“滾動”(Scrolling)等。

比如當申請一個變量的時候:

var my_var="shiyanlou";

其實也就是創建了一個 字符串對象 ,這個對象擁有內建的屬性 my_var.length = 9

同時,這個字符串對象還有數個內建的方法,比如 my_var.toUpperCase() 方法可以將字符轉為大寫;my_var.charAt(n) 方法可以返回第 n 個字符。

2.2 創建對象

JavaScript 提供了一些常用的內置對象(稍後介紹),但是有些情況下我們需要自定義地創建對象,以達到特殊的、豐富的功能。

比如我們創建一個“student”對象,並為其指定幾個 屬性 和 方法:

student = new Object();  // 創建對象“student”

student.name = "Tom";   // 對象屬性 名字
student.age  = "19";    // 對象屬性 年齡

student.study =function() {   // 對象方法 學習
    alert("studying");
};

student.eat =function
() { // 對象方法 吃 alert("eating"); };

采用函數的方式新建對象:

function student(name,age) {

    this.name = name;
    this.age = age;

    this.study = function() {
        alert("studying");
    };

    this.eat = function() {
        alert("eating");
    }
}

然後通過 new 創建 student 對象的實例:

var student1 = new
student(‘Tom‘,‘19‘); var student2 = new student(‘Jack‘,‘20‘);

2.3 訪問對象的屬性和方法

對象的存在意義,就是為了方便地操作數據,我們可以很容易地訪問對象的屬性或調用對象的方法,通過符號“.”。

比如我們剛才新建的 student1 對象,可以這樣使用:

<script>
var x = student1.name;  // 訪問對象的屬性
var y = student1.age;

document.write(x);
document.write(y);

student1.study();     // 調用對象的方法
</script>

當我們需要 反復訪問 某對象的時候,可以使用 with 語句簡化操作,而不需要反復地用“.”符號,比如:

with(student1) {
var x = name;
var y= age;
study();
eat();
}

2.4 常用內置對象

JavaScript 為我們提供了一些非常有用的常用內置對象,這樣我們就不用每次自己編代碼來實現一些常用功能。

現在我們舉例介紹 String、Math、Array 三中常用對象及其屬性和方法。

2.4.1 String 字符串對象

一開始就舉例介紹過 String 對象,每當創建一個字符串變量的時候,也就相當於創建了一個 String 對象。

(1)String 的屬性

該對象只有一個屬性,即 length,表示字符串中的字符個數,包括所有的空格和符號:

var test_var = "I love You!";
document.write(test_var.length);

顯示結果是“11”因為字符串長度將符號和空格也計算在內:

技術分享圖片

(2)String 的方法

String 對象共有 19 個內置方法,主要包括字符串在頁面中的顯示、字體大小、字體顏色、字符的搜索以及字符的大小寫轉換等功能,下面是一些常用的:

  • charAt(n) :返回該字符串第 n 位的單個字符。(從 0 開始計數)

  • charCodeAt(n) :返回該字符串第 n 位的單個字符的 ASCII 碼。

  • indexOf() :用法:string_1.indexOf(string_2,n); 從字符串 string_1 的第 n 位開始搜索,查找 string_2,返回查找到的位置,如果未找到,則返回 -1,其中 n 可以不填,默認從第 0 位開始查找。

  • lastIndexOf() :跟 indexOf() 相似,不過是從後邊開始找。

  • split(‘分隔符‘) :將字符串按照指定的分隔符分離開,返回一個數組,例如:‘1&2&345&678‘.split(‘&‘);返回數組:1,2,345,678。

  • substring(n,m) :返回原字符串從 n 位置到 m 位置的子串。

  • substr(n,x) :返回原字符串從 n 位置開始,長度為 x 的子串。

  • toLowerCase() :返回把原字符串所有大寫字母都變成小寫的字符串。

  • toUpperCase() :返回把原字符串所有小寫字母都變成大寫的字符串。

2.4.2 Math 對象

“數學”對象,提供對數據的數學計算。

(1)Math 的屬性

Math 的幾個屬性,是數學上幾個常用的值:

  • E :返回常數 e (2.718281828...)。

  • LN2 :返回 2 的自然對數 (ln 2)。

  • LN10 :返回 10 的自然對數 (ln 10)。

  • LOG2E :返回以 2 為底的 e 的對數 (log2e)。

  • LOG10E :返回以 10 為底的 e 的對數 (log10e)。

  • PI :返回π(3.1415926535...)。

  • SQRT1_2 :返回 1/2 的平方根。

  • SQRT2 :返回 2 的平方根。

(2)Math 的方法

Math 的內置方法,是一些數學上常用的數學運算:

  • abs(x) :返回 x 的絕對值。
  • round(x) :返回 x 四舍五入後的值。
  • sqrt(x) :返回 x 的平方根。

  • ceil(x) :返回大於等於 x 的最小整數。
  • floor(x) :返回小於等於 x 的最大整數。

  • sin(x) :返回 x 的正弦。
  • cos(x) :返回 x 的余弦。
  • tan(x) :返回 x 的正切。
  • acos(x) :返回 x 的反余弦值(余弦值等於 x 的角度),用弧度表示。
  • asin(x) :返回 x 的反正弦值。
  • atan(x) :返回 x 的反正切值。

  • exp(x) :返回 e 的 x 次冪 (e^x)。
  • pow(n, m) :返回 n 的 m 次冪 (nm)。
  • log(x) :返回 x 的自然對數 (ln x)。

  • max(a, b) :返回 a, b 中較大的數。
  • min(a, b) :返回 a, b 中較小的數。
  • random() :返回大於 0 小於 1 的一個隨機數。

2.4.3 Array 數組對象

數組對象是對象的集合,裏邊的對象可以是不同類型的。數組的每一個成員對象都有一個“下標”,用來表示它在數組中的位置(從 0 開始計數)。

數組下標表示方法是用方括號括起來,比如:

myArray[2]="hello"

註意:JavaScript只有一維數組,要使用多維數組,請用這種虛擬法:

var myArray = new Array(new Array(), new Array(), new Array(), ...);

其實這是一個一維數組,裏邊的每一個元素又是一個數組。調用這個“二維數組”的元素時:

myArray[2][3] = ...;
(1)Array 的屬性

length :返回數組的長度,即數組裏有多少個元素。它等於數組裏最後一個元素的下標加一。

因此,想添加一個元素,只需要:

myArray[myArray.length] = ...;

####(2)Array 的方法

- join("指定分隔符") :返回一個字符串,把數組元素串起來,元素間用指定分隔符隔開。

- toString() :把數組轉為字符串,並返回結果。

- reverse() :使數組元素倒序。

- slice(n,m) :返回子數組,從數組第 n 個元素到第 m 個元素。

- sort(SortFunction) :按照指定的 SortFunction 將數組的元素排序。

- concat(Array\_1,Array\_2) :用於連接兩個或多個數組。

javascript基礎加固5—-對象