前端提高篇(二十四)JS进阶18对象属性的高级用法

server/2024/10/21 1:06:00/

x:1,

y:2,

}

Object.defineProperty(obj1, ‘z’,{

value:3,

writable:true,

enumerable:true,

configurable:true,

})

for (var i in obj1){

console.log(i + ’ : ’ + obj1[i]);

}

运行效果:

在这里插入图片描述

不可枚举时:

var obj1 = {

x:1,

y:2,

}

Object.defineProperty(obj1, ‘z’,{

value:3,

writable:true,

enumerable:false,

configurable:true,

})

for (var i in obj1){

console.log(i + ’ : ’ + obj1[i]);

}

运行效果:

在这里插入图片描述

可配置

不可配置之不能删除属性:delete返回false

var obj1 = {

x:1,

y:2,

}

Object.defineProperty(obj1, ‘z’,{

value:3,

writable:true,

enumerable:false,

configurable:false,

})

运行效果:

在这里插入图片描述

不可配置之不能修改配置:

Object.defineProperty(obj1, ‘z’,{

value:3,

writable:false,

enumerable:false,

configurable:false,

})//初始特性设置

Object.defineProperty(obj1, ‘z’,{

writable:true,

enumerable:false,

configurable:true,

})//想要修改配置

运行结果:报错,原因,初始设置时,设置configurable:false,

在这里插入图片描述

多属性:

Object.defineProperties(obj1,{

z: {

value: 3,

writable:false,

enumerable:true,

configurable:true,

},

t : {

value: 4,

writable: true,

enumerable:true,

configurable:true,

}

})

查看属性的特性:Object.getOwnPropertyDescriptor(对象, 属性名)

在这里插入图片描述

set与get

//某班级男生10人,女生8人,算班费

var classFare = {boy:10, girl:8, allmoney:0};

Object.defineProperty(classFare, ‘onemoney’,{

set:function(money){

this.allmoney = (this.boy + this.girl )* money ;

},

get:function(){

return ‘总共:’+this.allmoney;

},

// writable:true,//Cannot both specify accessors and a value or writable attribute

enumerable:true,

configurable:true,

})

运行结果:

在这里插入图片描述

注意:不能在set和get中使用本属性,会造成死循环

最后

我可以将最近整理的前端面试题分享出来,其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器、数据结构与算法等等,还在持续整理更新中,希望大家都能找到心仪的工作。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

篇幅有限,仅展示部分截图:


http://www.ppmy.cn/server/19920.html

相关文章

基于EasyExcel实现的动态表头工具类

工具类 package net.lesscoding.utils;import cn.hutool.core.bean.BeanUtil; import com.alibaba.excel.EasyExcel; import com.google.common.collect.Lists;import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.Uns…

「ETL趋势」FDL数据中心库/表查看和调试功能上线、数据源新增支持MongoDB写入

FineDataLink作为一款市场上的顶尖ETL工具,集实时数据同步、ELT/ETL数据处理、数据服务和系统管理于一体的数据集成工具,进行了新的维护迭代。本文把FDL4.1.6最新功能作了介绍,方便大家对比:(产品更新详情:…

OneFlow概念清单、以及优缺点

1. 介绍 OneFlow是由华为提出的开源深度学习框架,旨在提供高效、易用、灵活和可扩展的解决方案。其设计理念是为了在大规模分布式训练环境下提供最佳性能。 2. 核心特性 分布式训练支持: OneFlow内置了高效的分布式训练策略,可轻松扩展到多…

C++11 数据结构5 队列的概念,队列的顺序存储,实现,测试

一,队列的概念 队列是一种特殊的受限制的线性表。 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的t(First In First Out)的线性表,简称FIF…

Linux驱动开发——(八)Linux异步通知

目录 一、异步通知简介 二、信号处理 2.1 驱动程序中的处理 2.1.1 fasync_struct结构体 2.1.2 fasync操作函数 2.1.3 kill_fasync函数 2.2 应用程序中的处理 三、驱动代码 一、异步通知简介 异步通知的核心就是信号。信号类似于硬件上使用的中断,只不过信号…

【Day 8】MySQL 多表查询 + Mybatis 基础

1 多表查询 笛卡尔积:在数学中,两个集合(A集合 和 B集合)的所有组合情况 在多表查询时,需要消除无效的笛卡尔积 select * from tb_emp,tb_dept where dept_id tb_dept.id;多表查询分为: 连接查询 内连接:相当于查…

【ARMv9 DSU-120 系列 5 -- CHI Interface】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 DSU-120 CHI BUSAddress Target Groups配置步骤映射和管理Hashing for CHI transaction distribution散列过程和地址目标组识别散列函数定义两个地址目标组的散列四个地址目标组的散列八个地址目标组的散列架构框图

什么是ISP,为什么跨境推荐ISP?

ISP,全称Internet Service Provider,即“互联网服务提供商”。它是为个人或企业提供访问、使用或参与互联网服务的组织,主要为用户提供互联网接入业务、信息业务和增值业务。ISP是经国家主管部门批准的正式运营企业,享受国家法律保…