JavaScript中的对象解释--访问对象属性、遍历属性for in、检测属性是否存在的方法...

2023-10-26

文章目录

目录

文章目录

1、对象访问属性

2、遍历(枚举)属性for-in

3、检测属性是否存在的方法

4、模板字符串``(反引号)

二、总结:


一、对象

1、对象访问属性

        (1)、格式:对象.属性名 或对象['属性名 ']

       (2)、自定义对象:{ '属性名': 属性值, 属性名: 属性值 }

                 属性名的引号可以省略,如果属性名中含有特殊字符必须加引号,比如made-in时,不能用-,但如果写成'made-in':属性名 就可以使用了)。

       (3)、Eg:

var emp={
			id:1,
			name:"张三",
			sex:1,
			birthday:'1999-4-5',
			salary:7500.00,
			'dept-id':20,
		}
		console.log(emp);
		// 访问属性 对象.属性名 或 对象[‘属性名’]
		console.log(emp.id,emp.name);
		console.log(emp['dept-id']);
		console.log(emp['salary']);//中括号里面不管有没有特殊字符,都要用引号
		console.log(emp.dname);//属性值不存在时不会报错,获取的值为undefined
		//修改存储的值
		emp.salary=50000;
		console.log(emp);
		//添加属性值
		emp.dname='市场部';

2、遍历(枚举)属性for-in

(1)、采用循环的方式,依次访问对象中的每个属性。格式:for(var k in 遍历的对象/数据表)

(2)、变量k代表每次获取的属性名,in 后写要遍历的对象,对象[k] 代表属性名对应的属性值。 student[k]表示属性值,不能写成student.k(会认为打印k这个属性名,不存在所以结果为undefined。)

        //要提前声明变量,不能在for里面声明,会报错。

	for(var k in student){
//	student[k]表示属性值
			console.log(k,student[k])
		}

  (3)、其中分享一道之前做过的关于for 和for in 的题: 

3、检测属性是否存在的方法

       (1)、(对象.属性名===undefined)和undefined比较,若为true说明属性不存在,为false说明属性存在。

console.log(person.age===undefined);

      (2)、 使用JS提供的函数hasOwnProperty('属性名')。true说明存在,false说明不存在。(hasOwnProperty()表示有自己的属性吗)

console.log(person.hasOwnProperty('name'));

       (3)、‘属性名’ in 对象

console.log('age' in person);

        Eg:// 练习一:创建一个商品对象,包含的属性有编号、标题、价格,如果颜色属性不存在,添加该属性;如果价格属性存在,价格打九折,最后打印该对象。

var goods={
			id:1,
			title:'电脑',
			price:6800,
		}
		// 方法1、if(goods.color===undefined){
		// 方法2、if(!goods.hasOwnProperty("color")){
		if(!('color' in goods)){ //取反
			goods.color='银白';
			console.log(goods.color);
		}
		if(goods.hasOwnProperty('price')){
			goods.price=goods.price*0.9;
			console.log(goods.price);
		}
		console.log(goods);

4、模板字符串``(反引号)

         格式:${ JS表达式 }

        反引号在键盘中的位置:在tab键的上面(要英文模式下)。

        模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。

        模板字符串中的换行和空格都是会被保留的。

二、总结

        以上就是今天要讲的内容,本文仅仅简单介绍了对象如何访问属性,遍历(枚举)属性for-in,介绍了三种检测属性是否存在的方法,和模板字符串的简单应用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript中的对象解释--访问对象属性、遍历属性for in、检测属性是否存在的方法... 的相关文章

随机推荐

  • Unity游戏开发 怪物巡逻AI

    今天实现的内容是怪物AI 看了一些网上的AI 不是特别符合我的需求 于是就自己研究了一种AI 大致和魔兽类的RPG游戏效果差不多 AI效果如下 1 将怪物分为如下几个状态 待机状态 该状态内有3种行为 原地呼吸 原地观察 和游走 可通过权重
  • 汇编语言(王爽第三版)实验九

    实验九 题目与个人思路 编程 在屏幕中间分别显示绿色 绿底红色 白底蓝色的字符串 welcome to masm 在80 25彩色字符模式下 显示器可以显示25行 每行80个字符 根据题意大致效果如下图所示 11行的起始地址计算10 80
  • C语言典型例题二——杨辉三角

    C语言典型例题二 杨辉三角 杨辉三角 C语言中的位运算有哪些操作符 杨辉三角 1 杨辉三角最本质的特征是 它的两条斜边都是由数字1组成的 而其余的数则是等于它肩上的两个数之和 这就是我们用C语言写杨辉三角的关键之一 杨辉三角是一种数学工具
  • Android Looper原理源码分析

    概要 在很久以前的时候转载了一小篇文章 Android Message Queue Message Looper Handler 白话介绍了一下Android Message Queue Looper Handler这几个概念之间的关系 其
  • windows下 mysql忘记root的密码怎么办

    如果mysql忘记密码无法登入 可以通过绕开输入密码登入的方式进行修改 步骤如下 1 右击 此电脑 点击 管理 打开 计算机管理 点击 服务与应用程序 点击 服务 2 找到mysql 先右击停用 再次右击mysql的打开属性对话框 3 在属
  • 942、增减字符串匹配——贪心+vector初始化方法

    文章目录 一 题目描述 二 题目分析 三 代码实现 四 总结 1 回顾一下 vector texttt vector vector 容器的几种初始化操作 一 题目描述 942 增减字符串匹配 由范围 0 n 内所有整数组成的 n
  • Go中 go-sql-driver 的使用

    go sql driver 是 Go 语言中一个常用的 MySQL 数据库驱动程序 支持 MySQL5 5 MySQL5 6 和 MySQL5 7 本文将介绍如何使用 go sql driver 包连接 MySQL 数据库 安装 在命令行中
  • linux计划任务5个*分表代表什么,linux 設置定時任務crontab

    前言 做自動化測試寫的腳本需要設置定制任務 在指定的時間去執行 這就需要用到定時任務 之前用jenkins可以在里面設置定時任務 很好用 其實在linux上也可以用crontab做定時任務 cron 在LINUX中 周期執行的任務一般由cr
  • Python在工业自动化领域的应用详解

    当我们开始讨论在工业自动化应用中使用哪种编程语言时 通常我们会首先谈论IEC 61131 3标准中用于可编程逻辑控制器 PLC 的语言 比如经典的梯形图 LD 或结构化文本 ST 对于机器人等应用 我们经常看到低级编译语言 比如C语言 这几
  • python代码规范快捷键_VS Code写Python的一些小技巧

    原标题 VS Code写Python的一些小技巧 本文基于 VS Code 1 36 1 为什么要用 VS Code 用 PyCharm 不好吗 VS Code 是开源免费的 PyCharm 是收费的 VS Code 除了 Python 还
  • Glcm 灰度共生矩阵,保姆级别教程,获取图片的Glcm和基于Glcm的纹理特征,附讲解思路,python代码的实现

    保姆级别教程 获取图片的Glcm和基于Glcm的纹理特征 附讲解思路 python代码的实现 网络上Glcm的原理很多 但是实现的python代码我确实没找到 讲的也不是很清楚 此文介绍了如何在一张图片中得到Glcm灰度共生矩阵 并基于Gl
  • opencv中矩阵运算

    opencv中矩阵运算 标签 1 cvLoadImage 将图像文件加载至内存 2 cvNamedWindow 在屏幕上创建一个窗口 3 cvShowImage 在一个已创建好的窗口中显示图像 4 cvWaitKey 使程序暂停 等待用户触
  • 理解ROC曲线,TPR与FPR

    在垃圾邮件判别模型中 邮件被判别为垃圾邮件为positive 被判别为非垃圾邮件为negative 那么 TPR TP TP FN 的含义是 垃圾邮件被正常判别为垃圾邮件的比例 FPR FP FP TN 的含义是 非垃圾邮件被判别为垃圾邮件
  • STM32的RTC时钟配置

    STM32的时钟可以使用内部RTC产生时钟日历 也可以使用外部芯片产生更为精确的时钟 如DS3231时钟芯片 本文介绍使用内部RTC产生时钟 RTC的时钟源有以下三种 HSE时钟除以128 LSE振荡器时钟
  • java reference variable,Java中的Object,Reference ID和Reference Variable之间有什么区别?

    What is difference between the following in java Object Reference ID Reference Variable When I see statements like this
  • xml转json的两种方法

    1 第一种方法 使用JSON JAVA提供的方法 之前一直使用json lib提供的方法转json 后来发现了这个开源项目 觉得用起来很不错 并且可以修改XML java中的parse方法满足自己的转换需要 1 首先去git下载所需的jav
  • Golang#Typora-Golang笔记

    知名编程语言或系统的发展简史 一 B语言 B语言之父 Ken Thompson 肯 汤普森 B语言是贝尔实验室开发的一种通用的程序设计语言 它是于1969年前后Ken Thompson 肯 汤普森 在Dennis Ritchie丹尼斯 里奇
  • SSM框架学习(4)CRM项目物理模型设计

    1 CRM的表结构 tbl user 用户表 tbl dic type 数据字典类型表 tbl dic value 数据字典值 tbl activity 市场活动表 tbl activity remark 市场活动备注表 tbl clue
  • C++ 11 std::enable_shared_from_this

    C 11 std enable shared from this 一 介绍 1 申明 std enable shared from this template lt class T gt class enable shared from t
  • JavaScript中的对象解释--访问对象属性、遍历属性for in、检测属性是否存在的方法...

    文章目录 目录 文章目录 1 对象访问属性 2 遍历 枚举 属性for in 3 检测属性是否存在的方法 4 模板字符串 反引号 二 总结 一 对象 1 对象访问属性 1 格式 对象 属性名 或对象 属性名 2 自定义对象 属性名 属性值