松软科技前端课堂:JavaScript 对象
2024-09-02 00:05:46
真实生活中的对象、属性和方法
在真实生活中,汽车是一个对象。
汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法:
对象 | 属性 | 方法 |
---|---|---|
car.name = porsche car.model = 911 car.length = 4499mm car.color = white |
car.start() car.drive() car.brake() car.stop() |
所有汽车都拥有同样的属性,但属性值因车而异。
所有汽车都拥有相同的方法,但是方法会在不同时间被执行。
JavaScript 对象
您之前已经学到,JavaScript 变量是数据值的容器。
这段代码把一个单一值(porsche)赋给名为 car 的变量:
var car = "porsche";
对象也是变量。但是对象包含很多值。
这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:
var car = {type:"porsche", model:"911", color:"white"};
值以名称:值对的方式来书写(名称和值由冒号分隔)。
JavaScript 对象是被命名值的容器。
对象属性
(JavaScript 对象中的)名称:值对被称为属性。
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
属性 | 属性值 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
对象方法
对象也可以有方法。
方法是在对象上执行的动作。
方法以函数定义被存储在属性中。
属性 | 属性值 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
方法是作为属性来存储的函数。
var person = {
firstName: "Bill",
lastName : "Gates",
id : 678,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
属性属性值firstNameBilllastNameGatesage62eyeColorblue
this 关键词
在函数定义中,this 引用该函数的“拥有者”。
在上面的例子中,this 指的是“拥有” fullName 函数的 person 对象。
换言之,this.firstName 的意思是 this 对象的 firstName 属性。
对象定义
我们定义(创建)了一个 JavaScript 对象:
实例
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
空格和折行都是允许的。对象定义可横跨多行:
实例
var person = {
firstName:"Bill",
lastName:"Gates",
age:50,
eyeColor:"blue"
};
访问对象属性
您能够以两种方式访问属性:
objectName.propertyName;
objectName["propertyName"];
访问对象方法
您能够通过如下语法访问对象方法:
objectName.methodName()
objectName.methodName()
var x = new String(); // 把 x 声明为 String 对象
var y = new Number(); // 把 y 声明为 Number 对象
var z = new Boolean(); // 把 z 声明为 Boolean 对象
最新文章
- Eclipse 的单步调试
- JAVA OO 第二章知识点
- 调用CRM自己的Dialogue
- session超时设置
- 【bzoj1407】 Noi2002—Savage
- java 存储对象
- Sql清理日志文件
- html5中的一些新语义标签
- Windows API——CREATEEVENT——创建事件
- spf13-vim – The Ultimate Distribution for Vim Editor
- php yii .htaccess
- google chrome字体最小12px的问题
- C++中##(两个井号)和#(一个井号)用法
- Reverse complement DNA
- Leetcode_204_Count Primes
- Windows Linux的cmd命令查询指定端口占用的进程并关闭
- linux 解决Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
- kth min_max容斥
- Markdown 文件转化为work文档
- Python生成目录树代码
热门文章
- git中的SSL certificate problem: unable to get local issuer certificate错误的解决办法
- 「SAP技术」SAP MM 明明有维护源清单,还是不能下PO?
- IT兄弟连 HTML5教程 CSS3属性特效 动画-animation
- easybcd误删Win10启动项,UEFI恢复引导
- vc6.0 绿色版 下载地址
- java 基础排序(冒泡、插入、选择、快速)算法回顾
- Redis面试篇 -- 如何保证缓存与数据库的双写一致性?
- 数据存储与访问之——SharedPreferences
- c++ 拷贝构造函数(重点在内含指针的浅拷贝和深拷贝)
- Go Modules使用教程