在JavaScript中,对象也可以包含函数。例如,
// object containing method
let person = {
name: 'John',
greet: function() { console.log('hello'); }
};
在上面的示例中, person
对象具有键( name
和greet
)以及字符串值和函数值。
因此,基本上,JavaScript 方法是具有函数值的对象属性。
访问对象方法
您可以使用点表示法访问对象方法。语法为:
objectName.methodKey()
您可以通过调用objectName和该方法的键以及()
来访问方法。而且,只能通过调用objectName和key来访问属性。例如,
// accessing method and property
let person = {
name: 'John',
greet: function() { console.log('hello'); }
};
// accessing property
person.name; // John
// accessing method
person.greet(); // hello
在这里, greet
方法作为person.greet()
而不是person.greet
。
如果尝试仅使用person.greet
访问该方法,它将为您提供函数定义。
person.greet; // ƒ () { console.log('hello'); }
JavaScript内置方法
在JavaScript中,有许多内置方法。例如,
let number = '23.32';
let result = parseInt(number);
console.log(result); // 23
在这里,Number对象的parseInt()
方法用于将数字字符串值转换为整数值。
要了解有关内置方法的更多信息,请访问JavaScript内置方法 。
向JavaScript对象添加方法
您也可以在对象中添加方法。例如,
// creating an object
let student = { };
// adding a property
student.name = 'John';
// adding a method
student.greet = function() {
console.log('hello');
}
// accessing a method
student.greet(); // hello
在上面的示例中,创建了一个空的student
对象。然后,添加name
属性。同样,还添加了greet
方法。这样,您可以向对象添加方法和属性。
JavaScript这个关键字
要从同一对象的方法中访问对象的属性,需要使用this
关键字。让我们考虑一个例子。
let person = {
name: 'John',
age: 30,
// accessing name property by using this.name
greet: function() { console.log('The name is' + ' ' + this.name); }
};
person.greet();
输出
The name is John
在上面的示例中,创建了一个person
对象。它包含属性( name
和age
)和方法greet
。
在greet
方法中,在访问对象的属性时使用this
关键字。
为了访问对象的属性 ,请在this
关键字之后使用.
和关键 。
注意 :在JavaScript中, this
关键字与对象的方法一起使用时会引用该对象。 this
绑定到一个对象。
但是,对象内部的函数可以像普通函数一样访问其变量。例如,
let person = {
name: 'John',
age: 30,
greet: function() {
let surname = 'Doe';
console.log('The name is' + ' ' + this.name + ' ' + surname); }
};
person.greet();
输出
The name is John Doe