JS-02对象的基本使用

目录

1 创建一个对象

2 对象属性操作

2.1 获取属性

第一种方式:.语法

第二种方式:[]语法

2种方式的差异

2.2 设置属性

2.3 删除属性

3 案例


1 创建一个对象

创建一个对象,包含了两个属性,两个方法:

    var student={ name:"李白" , //student有一个name属性,值为"李白"grade:"初一" ,//a、student有一个say属性,值为一个函数//b、student有一个say方法say:function(){console.log("你好");},run:function(speed){console.log("正在以"+speed+"米/秒的速度奔跑");}}

对象是键值对的集合:对象是由属性和方法构成的 (ps:也有说法为:对象里面皆属性,认为方法也是一个属性)
+ name是属性    grade是属性
+ say是方法     run是方法

对象属性操作

2.1 获取属性

第一种方式:.语法

+ student.name      获取到name属性的值,为:"李白"
+ student.say       获取到一个函数

第二种方式:[]语法

+ student["name"]   等价于student.name
+ student["say"]    等价于student.say

2种方式的差异

+ .语法更方便,但是坑比较多(有局限性),比如:
    - .后面不能使用js中的关键字、保留字(class、this、function。。。)
    - .后面不能使用数字
```js
    var obj={};
    obj.this=5; //语法错误
    obj.0=10;   //语法错误
```

+ []语法使用更广泛
    - o1[变量name]
    - ["class"]、["this"]都可以随意使用 `obj["this"]=10`
    - [0]、[1]、[2]也可以使用       
        - `obj[3]=50 = obj["3"]=50`     
        - 思考:为什么obj[3]=obj["3"] ?


    - 甚至还可以这样用:["[object Array]"]
        - jquery里面就有这样的实现
    - 也可以这样用:["{abc}"]
        - 给对象添加了{abc}属性

2.2 设置属性

设置属性
+ `student["gender"]="男"`    等价于:    `student.gender="男"`
    - 含义:如果student对象中没有gender属性,就添加一个gender属性,值为"男"
    - 如果student对象中有gender属性,就修改gender属性的值为"男"
+ 案例1:`student.isFemale=true`
+ 案例2:`student["children"]=[1,2,5]`
+ 案例3:为student添加方法
```js
    student.toShanghai=function(){   
        console.log("正在去往上海的路上")   
    }
```

2.3 删除属性

删除属性
+ delete student["gender"]      
+ delete student.gender
 

3 案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body></body>
<script>//1、创建对象var person = {gender: "男",height: 185,toShanghai: function () {console.log('去上海啦');}};//2、获取属性console.log(person.gender);         //"男"console.log(person["height"]);      //185//3、设置属性person.address = "xx市xx区";person.height = 190;//4、删除属性delete person.gender;delete person.a;        //这段代码没有意义,也不会报错//delete关键字只能删除对象中的属性,不能删除变量// var a=100;// delete a;//错误的理解//清空对象person = {};      //person对象不再具有任何属性person = null;//表示将person变量的值赋为null,从此以后person不再是一个对象了
</script></html>

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

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

相关文章

17. FastDFS面试题汇总

Java全栈面试题汇总目录-CSDN博客 1. 什么是FastDFS&#xff1f; FastDFS是用C语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制&#xff0c;充分考虑了冗余备份、负载均衡、线性扩容等机制&#xff0c;并注重高可用、高性能等指标&#xff0c;使用FastDFS很容易…

什么是线程安全?如何保证线程安全?

目录 一、引入线程安全 &#x1f447; 二、 线程安全&#x1f447; 1、线程安全概念 &#x1f50d; 2、线程不安全的原因 &#x1f50d; 抢占式执行&#xff08;罪魁祸首&#xff0c;万恶之源&#xff09;导致了线程之间的调度是“随机的” 多个线程修改同一个变量 修改…

ESP8266实现获取天气情况

利用太极创客提供的ESP8266 心知天气库获取天气情况并显示 心知天气库地址&#xff1a; ESP8266-心知天气: 本库主要功能为使用ESP8266物联网开发板通过心知天气 API 获取天气等信息。 clone到本地: git clone https://gitee.com/taijichuangke/ESP8266-Seniverse.git 安装该…

跟着Kimi学习结构化提示词:19套内置提示词都在这里了!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

C++ Primer Plus第十六章复习题

1、考虑下面的 类声明 class RQ1 { private:char * st; public:RQ1(){st new char [1]; strcpy(st,"");}RQ1(const RQ1 & rq){st new char [strlen(rq.st)1]; strcpy(st,rq.st);}~RQ1(){delete [] st};RQ & OPERATOR (cosnt RQ &rq); }; 将它转换为使…

Java技术深度解析:高级面试问题与精粹答案(一)

Java 面试问题及答案 问题1&#xff1a;请解释什么是Java虚拟机&#xff08;JVM&#xff09;以及它的作用是什么&#xff1f; 答案1&#xff1a; Java虚拟机&#xff08;JVM&#xff09;是一个可以执行Java字节码的虚拟计算机。它是一个抽象的计算机&#xff0c;能够通过软件…

【笔记】树(Tree)

一、树的基本概念 1、树的简介 之前我们都是在谈论一对一的线性数据结构&#xff0c;可现实中也有很多一对多的情况需要处理&#xff0c;所以我们就需要一种能实现一对多的数据结构--“树”。 2、树的定义 树&#xff08;Tree&#xff09;是一种非线性的数据结构&#xff0…

作物水文模型AquaCrop---用于评估作物对水的需求、灌溉计划和管理策略

AquaCrop是由世界粮食及农业组织&#xff08;FAO&#xff09;开发的一个先进模型&#xff0c;旨在研究和优化农作物的水分生产效率。这个模型在全球范围内被广泛应用于农业水管理&#xff0c;特别是在制定农作物灌溉计划和应对水资源限制方面显示出其强大的实用性。AquaCrop 不…

如何在海豚调度器自动监测报表是否跑出数据

在数据仓库报表开发时,有的报表依赖的表多,虽然在海豚调度任务上是跑成功,但实际上没有跑出数据来。开发人员负责的任务和表越来越多,每天去手动检查费时费力,不去理睬默认是成功的,等到业务或产品发现问题时,又给人一种不专业不负责的感觉。 比较好的方式是用代码进行自…

Python知识点复习

文章目录 Input & OutputVariables & Data typesPython字符串重复&#xff08;字符串乘法&#xff09;字符串和数字连接在一起print时&#xff0c;要强制类型转换int为str用input()得到的用户输入&#xff0c;是str类型&#xff0c;如果要以int形式计算的话&#xff0c…

SkyWalking 介绍及部署

1、SkyWalking简介2、SkyWalking的搭建 2.1 部署Elasticsearch2.2 部署SkyWalking-Server2.3 部署SkyWalking-UI3、应用接入 3.1 jar包部署方式3.2 dockerfile方式3.3 DockerFile示例4、SkyWalking UI 界面说明 4.1 仪表盘 4.1.1 APM &#xff08;1&#xff09;全局维度&#x…

UBUNTU22.04无法安装nvidia-driver-550 依赖于 nvidia-dkms-550 (<= 550.54.15-1)

类似的报错信息&#xff0c;就是卡在了nvidia-dkms-550无法安装 Loading new nvidia-550.40.07 DKMS files… Building for 6.5.0-15-generic Building for architecture x86_64 Building initial module for 6.5.0-15-generic ERROR: Cannot create report: [Errno 17] File e…

前端canvas项目实战——在线图文编辑器(十):小地图MiniMap(上)

目录 前言一、 效果展示二、 实现步骤0. 行动前的思考1. 为小地图更新「背景图」2. 为小地图更新「滑动窗口」2.1 获取新的滑动窗口「宽高」2.2 获取新的滑动窗口「位置」3. 为小地图更新「遮罩」后记前言 上一篇博文中,我们引入了「逻辑画布」的概念,让整个工具的页面看起来…

JPA 3万字面试宝典

目录 什么是JPA? JPA和Hibernate有什么区别? 什么是ORM(对象关系映射)? 什么是Entity?

【机器学习】在电子商务(淘*拼*京*—>抖)的应用分析

机器学习与大模型&#xff1a;电子商务的新引擎 一、电子商务的变革与挑战二、机器学习与大模型的崛起三、机器学习与大模型在电子商务中的应用实践个性化推荐精准营销智能客服库存管理与商品定价 四、总结与展望 随着互联网的飞速发展&#xff0c;电子商务已经成为我们生活中不…

NDIS小端口驱动(四)

NDIS中断相关 1. 注册和取消注册中断&#xff1a; 微型端口驱动程序调用 NdisMRegisterInterruptEx 来注册中断。 驱动程序分配并初始化 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 结构&#xff0c;以指定中断特征和函数入口点&#xff0c;驱动程序将结构传递给 NdisMRegister…

【三剑客和正则表达式】

文章目录 学习目标一、什么是三剑客1.三剑客grep2.三剑客sed3.三剑客awk4.正则过滤例子15.正则过滤例子2 总结 学习目标 1.学会使用 grep 2.学会使用 sed 3.学会使用 awk 4.学会使用正则表达式一、什么是三剑客 正则三剑客&#xff1a;grep sed awk 1.三剑客grep # 擅长过滤…

【MySQL精通之路】查询优化器的使用(8)

MySQL通过影响查询计划评估方式的系统变量、可切换优化、优化器和索引提示以及优化器成本模型提供优化器控制。 服务器在column_statistics数据字典表中维护有关列值的直方图统计信息&#xff08;请参阅第10.9.6节“Optimizer统计信息”&#xff09;。与其他数据字典表一样&am…

#Ethereum 现货ETF 问题汇总 转

专题&#xff1a; #Ethereum 现货ETF 问题汇总&#xff0c;包括了多数小伙伴们的疑问&#xff0c;有任何忽略请留言给我&#xff0c;我会补充。 1. #ETH 现货ETF何时公布&#xff1f; 一般来说会在北京时间的5月24日凌晨2点至4点之间&#xff0c;不排除稍微延后到凌晨6点的可能…

基于大语言模型的应用

在AI领域&#xff0c;大语言模型已成为备受瞩目的焦点&#xff0c;尤其在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;其应用愈发广泛。BLM作为一种多任务语言建模方法&#xff0c;旨在构建一个具备多功能的强大模型。在给定文本和查询条件下&#xff0c;该模型能…