JavaScript 对象方法
内容摘要
JavaScript 对象方法
文章正文
实例
1 2 3 4 5 6 7 8 | var person = { firstName: "Bill" , lastName : "Gates" , id : 648, fullName : function () { return this .firstName + " " + this .lastName; } }; |
avaScript 方法
JavaScript 方法是能够在对象上执行的动作。
JavaScript 方法是包含函数定义的属性。
属性 | 值 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
方法是存储为对象属性的函数。
this 关键词
在 JavaScript 中,被称为 this 的事物,指的是拥有该 JavaScript 代码的对象。
this 的值,在函数中使用时,是“拥有”该函数的对象。
请注意 this 并非变量。它是关键词。您无法改变 this 的值。
访问对象方法
请使用如下语法创建对象方法:
1 | <i>methodName</i> : function () { <i>代码行</i> } |
请通过如下语法来访问对象方法:
1 | <i>objectName</i>.<i>methodName</i>() |
您通常会把 fullName() 描述为 person 对象的方法,把 fullName 描述为属性。
fullName 属性在被通过 () 调用后会以函数形式执行。
此例访问 person 对象的 fullName() 方法:
实例
1 | name = person.fullName(); |
如果您访问 fullName 属性时没有使用 (),则将返回函数定义:
实例
1 | name = person.fullName; |
使用内建方法
此例使用 String 对象的 toUpperCase() 方法,把文本转换为大写:
1 2 | var message = "Hello world!" ; var x = message.toUpperCase(); |
x 的值,在以上代码执行后将是:
1 | HELLO WORLD! |
添加新的方法
向对象添加方法是在构造器函数内部完成的:
实例
1 2 3 4 5 6 7 8 9 | function person(firstName, lastName, age, eyeColor) { this .firstName = firstName; this .lastName = lastName; this .age = age; this .eyeColor = eyeColor; this .changeName = function (name) { this .lastName = name; }; } |
changeName() 函数 name 的值赋给了 person 的 lastName 属性。
现在您可以尝试:
1 | myMother.changeName( "Jobs" ); |
通过用 myMother “替代” this,JavaScript 清楚您指的是哪个 person。
代码注释