理解JavaScript对象[Bom]:属性、方法

对象是什么

在JavaScript中,对象(Object)是一种复合的数据类型,它允许你将数据和功能(方法)组合在一起。

创建对象

var person = {
  firstName: 'John',
  lastName: 'Doe',
  age: 30,
  greet: function() {
    console.log('Hello, my name is ' + this.firstName + ' ' + this.lastName);
  }
};

访问对象属性

你可以通过点符号(.)或方括号([])来访问对象的属性:

console.log(person.firstName); // 使用点符号

console.log(person['lastName']); // 使用方括号

修改和添加属性

你可以修改或添加新属性给已存在的对象:

person.height = 165; // 添加新属性

person.firstName = 'Jane'; // 修改现有属性

方法

对象可以拥有方法,即作为对象属性的函数:

person.greet(); // 输出: Hello, my name is Jane Doe

 

this关键字

在对象的方法内部,this关键字引用当前对象:

person.introduce = function() {
  console.log('I am ' + this.firstName + ' ' + this.lastName);
};
person.introduce(); // 输出: I am Jane Doe

实例

源码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>var person = {Color: function() {console.log('yellow');},name: 'xiaoming',age: 18,xiaoming: function() {console.log('我的名字是' + this.name);}
};// 调用 Color 函数
person.Color(); // 输出: yellow// 调用 xiaoming 函数
person.xiaoming(); // 输出: 我的名字是xiaoming</script>
</body>
</html>

实例解析

  1. Color:这是一个函数作为对象属性的示例。这个函数没有参数,并且当调用时,它会在控制台中打印字符串 'yellow'

  2. name:这是一个普通属性,其值为字符串 'xiaoming',表示人名。

  3. age:这是另一个普通属性,其值为数字 18,表示年龄。

  4. xiaoming:这是另一个函数属性。当调用这个函数时,它会使用 console.log 打印出 this.name 的值。在JavaScript中,this 关键字的值取决于函数的调用方式。在对象的方法中调用时,this 通常指向该对象,所以 xiaoming 函数将会打印出 person 对象的 name 属性。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/4253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

03-MVC执行流程-参数解析与Model

重要组件 准备Model&#xff0c;Controller Configuration public class WebConfig {ControllerAdvicestatic class MyControllerAdvice {ModelAttribute("b")public String bar() {return "bar";}}Controllerstatic class Controller1 {ResponseStatus(H…

windows环境下安装Apache

首先apache官网下载地址&#xff1a;http://www.apachelounge.com/download/按照自己的电脑操作系统来安装 这里我安装的是win64 主版本是2.4的apache。 然后解压压缩包到一个全英文的路径下&#xff01;&#xff01;&#xff01;一定一定不要有中文 中文符号也不要有&#xff…

ansible-copy用法

目录 概述实践不带目录拷贝带目录拷贝 概述 ansible copy 常用用法举例 不带目录拷贝&#xff0c;拷贝的地址要写全 带目录拷贝&#xff0c;拷贝路径不要写在 dest 路径中 实践 不带目录拷贝 # with_fileglob 是 Ansible 中的一个循环关键字&#xff0c;用于处理文件通配符匹…

【Vue3+Tres 三维开发】02-Debug

预览 介绍 Debug 这里主要是讲在三维中的调试,同以前threejs中使用的lil-gui类似,TRESJS也提供了一套可视化参数调试的插件。使用方式和之前的组件相似。 使用 通过导入useTweakPane 即可 import { useTweakPane, OrbitControls } from "@tresjs/cientos"const {…

数字文旅重塑旅游发展新格局:以数字化转型为突破口,提升旅游服务的智能化水平,为游客带来全新的旅游体验

随着信息技术的迅猛发展&#xff0c;数字化已成为推动各行各业创新发展的重要力量。在旅游业领域&#xff0c;数字文旅的兴起正以其强大的驱动力&#xff0c;重塑旅游发展的新格局。数字文旅以数字化转型为突破口&#xff0c;通过提升旅游服务的智能化水平&#xff0c;为游客带…

HarmonyOS Next从入门到精通实战精品课

第一阶段&#xff1a;HarmonyOS Next星河版从入门到精通该阶段由HarmonyOS Next星河版本出发&#xff0c;介绍HarmonyOS Next版本应用开发基础概念&#xff0c;辅助学员快速上手新版本开发范式&#xff0c;共计42课时 第一天鸿蒙NEXT Mac版、Windows版【编辑器】和【模拟器】&a…

java 一个方法里面的 所有方法并行执行 用多线程

java 一个方法里面的 所有方法并行执行 用线程 package com.example.springbootycw.schedule;import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent…

android 内部保存数据

在Android中&#xff0c;内部序列化对象通常指的是将对象的状态转换为字节流&#xff0c;以便可以将对象保存到文件、通过网络发送&#xff0c;或者在应用的不同部分之间传递。在Java中&#xff0c;序列化是通过实现java.io.Serializable接口来完成的。Android继承了Java的序列…

BootStrap详解

Bootstrap简介 什么是BootStrap&#xff1f; BootStrap来自Twitter&#xff0c;是目前最受欢迎的响应式前端框Bootstrap是基于HTML、CSS、JavaScript的&#xff0c;它简洁灵活&#xff0c;使得Web开发更加快捷 为什么使用Bootstrap&#xff1f; 移动设备优先&#xff1a;自…

Kafka 3.x.x 入门到精通(07)——Java应用场景——SpringBoot集成

Kafka 3.x.x 入门到精通&#xff08;07&#xff09;——Java应用场景——SpringBoot集成 4. Java应用场景——SpringBoot集成4.1 创建SpringBoot项目4.1.1 创建SpringBoot项目4.1.2 修改pom.xml文件4.1.3 在resources中增加application.yml文件 4.2 编写功能代码4.2.1 创建配置…

如何维护 Oracle B*tree 索引。 多列index是合并一起指向rowid的

尽管这是一份较旧的文档&#xff0c;但以下信息仍与更高版本相关。 Although this is an older document, the information below is still relevant to later versions. 范围 它旨在帮助试图了解如何维护 Oracle B*tree 索引的用户。 详 Oracle 版本 8 提供了五种索引方案…

机器人-轨迹规划

旋转矩阵 旋转矩阵--R--一个3*3的矩阵&#xff0c;其每列的值时B坐标系在A坐标系上的投影值。 代表B坐标系相对于A坐标系的姿态。 旋转矩阵的转置矩阵 其实A相对于B的旋转矩阵就相当于把B的列放到行上就行。 视频 &#xff08;将矩阵的行列互换得到的新矩阵称为转置矩阵。&…

MySQL的SQL文件转换为适用于SQLite的SQL文件

最近了解到一个较小众的数据库SQLite&#xff0c;打算拿来玩一玩&#xff0c;但手上目前只有MySQL的一些库表文件无法直接导入使用&#xff0c;所以出一期记录&#xff0c;手动进行二者转换 分析SQL语句 首先要明确&#xff0c;MySQL和SQLite两者格式差别不止限于字段类型、特…

C++二维数组arr[3][4]与arr(3, vector<int>(4))的差异

int arr[3][4] 和 vector<vector<int>> arr(3, vector<int>(4)) 都是用于存储二维数组的数据结构&#xff0c;但它们之间有以下几个差异&#xff1a; 1. 内存管理&#xff1a;int arr[3][4] 是一个静态数组&#xff0c;它在编译时就分配了连续的内存空间&am…

flask+uwsgi+nginx+cerbot配置

配置步骤 安装flask和uwsgi pip install Flask uwsgi 创建一个简单的flask应用&#xff08;app.py&#xff09;或者是自己的flask项目 from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello, World! 配置uwsgi&#xff0c;这里我给出…

C# Solidworks二次开发:枚举应用实战(第五讲)

大家好&#xff0c;今天是我们枚举应用的第五讲。 下面是今天要介绍的枚举&#xff1a; &#xff08;1&#xff09;第一个枚举为swConStraintType_e&#xff0c;这个枚举为草图约束&#xff0c;下面是官方的具体枚举值&#xff1a; MemberDescriptionswConstraintType_ALONG…

【AI】探索 Prompt:如何与 ChatGPT 对话

工作中 忙的太久 不觉间 已三十个年头 挑剔着 轮换着 你再三选择 那么寒冬后 炎夏前 谁会给你春一样的爱恋 日落后 最美的 时光已溜走 日落后 最美的 已溜走 &#x1f3b5; 赵雷《三十岁的女人》 在人工智能和用户交互领域&#xff0c;“prompt” 是一个至关重要的概念。它不仅…

SQLite尽如此轻量

众所周知&#xff0c;SQLite是个轻量级数据库&#xff0c;适用于中小型服务应用等&#xff0c;在我真正使用的时候才发现&#xff0c;它虽然轻量&#xff0c;但不知道它却如此轻量。 下载 官网&#xff1a; SQLite Download Page 安装 1、将下载好的两个压缩包同时解压到一个…

十大排序算法之——堆排序算法(Java实现)及思路讲解

堆排序是一种非常有效的排序算法&#xff0c;它利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子节点的键值或索引总是小于&#xff08;或者大于&#xff09;它的父节点。堆排序可以分为两个主要部分&a…

【PG-2】PostgreSQL存储管理器

2. PostgreSQL存储管理器 src/backend/storage (base) torrestorresの机革:~/codes/postgresql-16.2/src/backend/storage$ ls Makefile buffer file freespace ipc large_object lmgr meson.build objfiles.txt page smgr sync存储管理器—smgr 通用存储管理器 …