属性的表示方法和对象的枚举

对象
一、对象.属性

var obj = {name : 'mary',age : 18
};console.log(obj.name, obj.age); // mary 18

二、对象[‘属性’] – 让对象属性更加灵活

var zhang = {wife1: {name: 'xiaomei'},wife2: {name: 'xiaoli'},wife3: {name: 'xiaowang'},wife4: {name: 'xiaoxiao'},sayWife: function (num) {return this['wife' + num];}
};zhang.sayWife(3); // xiaowang

对象的枚举
一、for...in 语句

var obj = {name: 'mary',age: 18,sex: 'female',__proto__: {height: 180,weight: 75}
};Object.prototype.name = 'smith'; // 在原型上自定义一个属性for (var key in obj) {// console.log(key); // undefined * 5// 这里的 obj.key ==> obj['key'] --> 会去找它的 key 属性// 所以在枚举里面必须:console.log(obj[key]); // 这样才会遍历 obj 里面的每一个属性,包括原型上自定义的也要打印出来
}

二、遍历中可添加的 hasOwnPropertyininstanceof

  1. obj.hasOwnProperty()

一般和 for... in 一起使用(一个遍历,一个过滤)

但凡是系统自带的无论在哪都不会出来;但凡是自己定义的,无论在哪都会出来。

var obj = {name: 'mary',age: 18,sex: 'female',__proto__: {height: 180,weight: 75}
};Object.prototype.abc = 'smith';for (var key in obj) {// 每一个对象都有一个 hasOwnProperty() 方法if (obj.hasOwnProperty(key)) {console.log(obj[key]); // 结果原型上自定义的属性的值没有打印出来,打印的是 obj 里面的属性值}if (!obj.hasOwnProperty(key)) { // 显示原型链上的自定义属性的值console.log(obj[key]); // smith}  
}
  1. in

只会检测对着对象里面有没有某个属性

Object.prototype.abc = 'abc';
let obj = {};
console.log('abc' in obj); // true

不分青红皂白,原型链终端上面的都打印了,所以不怎么常用

  1. instanceof ⇒ 判断 A 原型链上有没有 B 的原型
function Person() {}var person = new Person();
console.log(person instanceof Person); // true
console.log(person instanceof Object); // true
console.log(person instanceof Array); // false
console.log({} instanceof Array); // false

三、区别对象和数组

  1. constructor ⇒ 看看有没有指向他的构造方法
var arr = [1, 2, 3];
var fun = function() {};
console.log(arr.constructor); // Array() { [native code] }
console.log(fun.constructor); // Function() { [native code] }
  1. instanceof ⇒ 看看是不是这个构造方法沟造出来的
function Person() {}var person = new Person();console.log(person instanceof Person); // true
console.log(person instanceof Object); // true
console.log(person instanceof Array); // false
// 看看
console.log({} instanceof Array); // false
  1. Object.prototype.call()
console.log(Object.prototype.toString.call({})); // [object Object]
console.log(Object.prototype.toString.call([])); // [object Array]
  1. ES6 的 isArray()
Array.isArray([])  //true
Array.isArray({})  //false

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

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

相关文章

docker 启动成功但无法访问_docker nginx 运行后无法访问的问题解决

## 1最近在学docker部署,一开始打算将nginx先docker化的。对照官方的docker镜像介绍说明,进行自定义配置将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是屏蔽了default.conf,以及include文件夹 sites-avail…

minio实现文件上传下载和删除功能

前言 之前用到文件上传功能,在这里做个学习记录。使用minio实现,后面会记录使用fastdfs和阿里云的oss实现文件上传以及他们的比较(oss根据流量收费)。minio的中文文档:https://docs.min.io/cn/ minio安装 首先查询d…

ES6 let 和 const 关键字

一、ES5 的 var 关键字 var 存在变量提升var 允许重复声明,浏览器本身只识别一次,但不会报错var 声明的变量即是全局变量,也相当于给 GO(window) 设置了一个属性而且两者建立映射机制基于 typeof 检测一个没有被声明过的变量,并不…

Spring Boot配置MinIO(实现文件上传、下载、删除)

1 MinIO MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小&#xff…

js 里面令人头疼的 this

JS中this相关问题梳理 this 就是 js 里的关键字,有特殊意义,代表函数执行主体 一、定义 函数执行主体(不是作用域):意思是谁把函数执行了,那么执行主体就是谁 二、使用情况 全局作用域里的this 是window…

大数据专业考研书_考研必知大数据(完整版)

由上面的两组图表,不难看出,历史和医学的读研比例遥遥领先。另外由图可知,全国有百分之十三的本科生选择了毕业后读研,而这其中有近三成的人是选择了在读研时转换专业。部分省份报名人数汇总结合历年报考人数统计数据来看&#xf…

Java8 stream().map()将对象转换为其他对象

Java8 stream().map()将对象转换为其他对象 1: 将对象List转为List public class user{private String name;private String password;private String address;private String age;}List<String> name user.stream().map(x -> x.getName()).collect(Collectors.toLi…

改变 this 指向的 call 和 apply

一、call 方法 基本用法 function test() {console.log(hello world); } test(); // hello world test.call(); // hello world // test() > test.call()其实就是借用别人的方法&#xff0c;来实现自己的功能 function Person(name, age) {// this objthis.name name;th…

python爬去百度百科词条_python简单爬虫爬取百度百科python词条网页

目标分析&#xff1a;目标&#xff1a;百度百科python词条相关词条网页 - 标题和简介入口页&#xff1a;https://baike.baidu.com/item/Python/407313URL格式&#xff1a;- 词条页面URL&#xff1a;/item/xxxx数据格式&#xff1a;- 标题&#xff1a;***- 简介&#xff1a;***页…

Stream中toMap引发NullPointerException____Stream的执行流程

Stream中toMap引发NullPointerException 1、引发NullPointerException的代码如下&#xff1a; List<SelfSettlementCardInfoDto> selfSettlementCardInfoDtos selfCardAdapterManager.listSelfSettlementCardInfoDtoByCardIds(queryDto.getPartnerId(), cardIds, false…

db2 最大分区数_db2 查询表分区数据库

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

ES6 Symbol 数据类型

ES6-Symbol 类型 ES5 除类数组对象&#xff08;类数组对象名可以为数字&#xff0c;对象必须有 length 属性&#xff0c;可以用数组下标的方式访问对象属性&#xff0c;但不能通过点的方式访问&#xff09;外&#xff0c;对象属性名都是字符串&#xff0c;这很容易造成属性名的…

word中图片为嵌入式格式时显示不全_图片在word中显示不全怎么处理_word图片显示不全怎么办-win7之家...

我们在编辑word文档时&#xff0c;会需要插入一些图片来做为装饰或者用来标识&#xff0c;也会出现插入的图片显示不全的情况&#xff0c;要是遇到这种情况该怎么办&#xff0c;那么图片在word中显示不全要怎么处理呢&#xff0c;下面小编给大家分享图片在word中显示不全的解决…

Map集合使用get方法返回null抛出空指针异常问题

Map集合使用get方法空指针异常问题 前言 1.Map里面只能存放对象&#xff0c;不能存放基本类型&#xff0c;例如int&#xff0c;需要使用Integer 2.Map集合取出时&#xff0c;如果变量声明了类型&#xff0c;会先进行拆箱&#xff0c;再进行转换。 空指针问题 如图&#xff…

ES6 扩展运算符

ES6 数组相关 一、扩展运算符 … 用于函数调用 将一个数组变为参数序列&#xff1b;可与正常的函数参数结合使用&#xff1b;扩展运算符后面也可以放表达式&#xff1b;如果扩展运算符后面是空数组&#xff0c;不产生任何结果。只有函数调用时&#xff0c;扩展运算符才可以放…

android gone动画_Android动画之淡入淡出

为了更好的说明Android动画的淡入淡出效果&#xff0c;这里以一个场景为例&#xff1a; 界面上有两个View 控件&#xff0c;两个View交替显示&#xff0c;当一个View淡入显示&#xff0c;另一个View淡出不可见。我们把当前要显示的View叫showView, 要隐藏不可见的view叫hideVie…

java各map中存放null值

java中各map中是否可以存储null值情况

windows配置samba客户端_怎样设置Samba文件服务器以使用Windows客户端

输入先前用‘smbpasswd -a’设置的用户名和密码&#xff1a;进入计算机&#xff0c;然后检查网络驱动器是否被正确添加&#xff1a;作为测试&#xff0c;让我们从Samba的手册页创建一个pdf文件&#xff0c;然后保存到/home/xmodulo目录&#xff1a;接下来&#xff0c;我们可以验…

DOM 节点类型及属性

一、节点类型 节点名称节点类型节点文本内容#document (文档节点)9null大写标签名 (元素节点)1null#text (文本节点 )3文本内容#comment (注释节点)8注释的内容 二、获取节点的方式 childNodes ⇒ 获取所有子节点 document.body.childNodeschildren ⇒ 获取所有元素子节点 …

Java8中Collectors详解

文章目录1.averagingDouble2.collectingAndThen3.counting4.groupingBy4.1groupingBy(Function)4.2groupingBy(Function, Collector)4.3groupingBy(Function, Supplier, Collector)5.groupingByConcurrent5.1groupingByConcurrent(Function)5.2groupingByConcurrent(Function, …