色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 成員函數(shù)中 訪問對象

錢良釵1年前7瀏覽0評論
在JavaScript中,成員函數(shù)既可以是對象的方法,也可以直接定義在全局作用域中。而在成員函數(shù)中,我們可以訪問到對象本身,從而獲取或修改對象的屬性和方法,為對象增加功能或?qū)崿F(xiàn)對其的控制。 舉個(gè)例子,假設(shè)我們有一個(gè)表示矩形的對象rectangle,其中包含兩個(gè)屬性width和height,以及一個(gè)計(jì)算矩形面積的方法area()。我們可以定義一個(gè)成員函數(shù)double(),能夠?qū)⒕匦蔚膶捄透叨技颖叮a如下:
var rectangle = {
width: 10,
height: 20,
area: function() {
return this.width * this.height;
},
double: function() {
this.width *= 2;
this.height *= 2;
}
};
在double()函數(shù)中,我們可以通過this關(guān)鍵字來訪問到rectangle對象本身,并修改其屬性值。然后,我們就可以調(diào)用這個(gè)函數(shù),將矩形大小翻倍:
rectangle.double();
console.log(rectangle.width); // 20
console.log(rectangle.height); // 40
console.log(rectangle.area()); // 800
除了訪問對象本身以外,成員函數(shù)還能夠獲取或修改對象的其他屬性或方法。我們可以在函數(shù)中使用點(diǎn)記號或方括號來獲取或設(shè)置屬性值,這取決于屬性名是否是一個(gè)合法的標(biāo)識符。對于像width和height這樣的標(biāo)識符,我們可以使用點(diǎn)記號來訪問它們:
var rectWidth = rectangle.width;
rectangle.height = 30;
而對于屬性名中含有特殊字符或空格的情況,我們需要使用方括號來訪問屬性,如下所示:
var myObj = {
"username": "johndoe",
"email address": "johndoe@example.com",
"!#@$%^&*()": "special characters"
};
console.log(myObj.username); // "johndoe"
console.log(myObj["email address"]); // "johndoe@example.com"
console.log(myObj["!#@$%^&*()"]); // "special characters"
在成員函數(shù)中,我們還可以使用call()和apply()方法來實(shí)現(xiàn)對函數(shù)作用域的控制。這兩個(gè)方法都用于間接調(diào)用函數(shù),并可以指定函數(shù)執(zhí)行時(shí)的this值和參數(shù)。使用call()方法時(shí),我們將指定的this值作為第一個(gè)參數(shù)傳遞給該函數(shù);而使用apply()方法時(shí),我們需要將參數(shù)封裝到一個(gè)數(shù)組中作為第二個(gè)參數(shù)傳遞給該函數(shù),如下所示:
function greet() {
console.log("Hello, " + this.name);
}
var person1 = { name: "Alice" };
var person2 = { name: "Bob" };
greet.call(person1); // "Hello, Alice"
greet.call(person2); // "Hello, Bob"
greet.apply(person1); // "Hello, Alice"
greet.apply(person2); // "Hello, Bob"
以上代碼中,我們定義了一個(gè)簡單的greet()函數(shù),它可以向控制臺輸出“Hello, ”和傳入的參數(shù)。我們創(chuàng)建了兩個(gè)人物對象person1和person2,然后使用call()和apply()方法來分別調(diào)用greet()函數(shù),以輸出不同的信息。可以看到,雖然greet()函數(shù)中沒有直接訪問對象的屬性,但通過this關(guān)鍵字,它能夠間接訪問到對象本身,從而獲取對象的屬性值。 總之,在JavaScript中,成員函數(shù)是對象的重要組成部分,它們能夠增加對象的功能或?qū)崿F(xiàn)對其的控制。要切實(shí)掌握成員函數(shù)的用法,需要理解this關(guān)鍵字、屬性的訪問和設(shè)置方法、及call()和apply()方法的用法,并在實(shí)際開發(fā)中靈活運(yùn)用。