当前位置: 首页 > news >正文

做网站 新域名 还是网站建设预付款比例

做网站 新域名 还是,网站建设预付款比例,网站设计错误,免费制作个人网页05_属性描述符 文章目录 05_属性描述符一、属性描述符是什么?二、属性描述符①:查看属性描述②:设置属性描述符③:案例01.代码实现02.代码实现(优化) 一、属性描述符是什么? 属性描述符的结构 在…

05_属性描述符


文章目录

  • 05_属性描述符
  • 一、属性描述符是什么?
  • 二、属性描述符
    • ①:查看属性描述
    • ②:设置属性描述符
    • ③:案例
      • 01.代码实现
      • 02.代码实现(优化)


一、属性描述符是什么?

属性描述符的结构

在定义对象、定义属性时,我们曾经介绍过属性描述符,属性描述符实际上就是一个对象。

属性描述符一共有 6 个,可以选择使用。

  • value:设置属性值,默认值为 undefined。
  • writable:设置属性值是否可写,默认值为 true。
  • enumerable:设置属性是否可枚举,即是否允许使用 for/in 语句或 Object.keys( ) 函数遍历访问,默认为 true。
  • configurable:设置是否可设置属性特性,默认为 true。如果为 false,将无法删除该属性,不能够修改属性值,也不能修改属性的属性描述符。
  • get:取值函数,默认为 undefined。
  • set:存值函数,默认为 undefined。

二、属性描述符

①:查看属性描述

let obj = {a: 1,b: 2
}let desc = Object.getOwnPropertyDescriptor(obj, 'a');
console.log(desc)

在这里插入图片描述

②:设置属性描述符

let obj = {a: 1,b: 2
}// 获取 属性描述符
let desc = Object.getOwnPropertyDescriptor(obj, 'a');
console.log(desc)// 设置属性描述符
Object.defineProperty(obj, 'a',{value: 10,writable: false, // 不可从重写// enumerable: false,  // 不可遍历// configurable: false // 不可修改属性描述符本身
})console.log('修改前a的值:',obj.a)
obj.a = 100
console.log('修改后a的值:',obj.a)

在这里插入图片描述](https://img-blog.csdnimg.cn/0cbe074a21b24b9da6454181b2847e13.png

③:案例

01.代码实现

设置一个对象的属性只读不能修改

// 定义一个名为 aGoods 的对象,表示商品信息
let aGoods = {pic: '.',title: '..',desc: `...`,sellNumber: 1,favorRate: 2,price: 3
}// 定义一个名为 UIGoods 的类
class UIGoods {// 构造函数,接收一个 goods 对象作为参数constructor(goods) {// 使用 Object.defineProperty 定义名为 data 的属性Object.defineProperty(this, 'data', {value: goods,       // 设置属性的值为传入的 goods 对象writable: false,    // 不可写,即不能通过赋值修改属性的值configurable: false, // 不可配置,即不能通过 delete 操作符删除属性})}
}
// 创建一个 UIGoods 类的实例,传入 aGoods 对象作为参数
let goods = new UIGoods(aGoods);
// 尝试修改 goods 实例的 data 属性的值
goods.data = 'abc';
// 输出修改后的 goods 实例的 data 属性的值
console.log(goods.data);

在这里插入图片描述

问题:刚刚我们已经实现了属性不能修改,但是我们尝试修改(没有修改成功,也没有任何报错)试想一下如果代码比较多的情况下,我们可能也会忘记该属性不能修改,当我们修改属性值后.......

02.代码实现(优化)

  • 我们需要的效果是,当属性设置不能修改后,在尝试修改给出一个错误提示
// 定义一个名为 aGoods 的对象,表示商品信息
let aGoods = {pic: '.',title: '..',desc: `...`,sellNumber: 1,favorRate: 2,price: 3
}// 定义一个名为 UIGoods 的类
class UIGoods {// 构造函数,接收一个 goods 对象作为参数constructor(goods) {// 使用 Object.defineProperty 定义名为 data 的属性Object.defineProperty(this, 'data', {configurable: false, // 不可配置,即不能通过 delete 操作符删除属性get:function (){ // 取值函数return goods;},set: function (){ // 存值函数throw new Error('兄弟,您正在尝试修改 data 属性,这是不可能的!死心吧!')}})}
}
// 创建一个 UIGoods 类的实例,传入 aGoods 对象作为参数
let goods = new UIGoods(aGoods);
// 尝试修改 goods 实例的 data 属性的值
goods.data = 'abc';
// 输出修改后的 goods 实例的 data 属性的值
console.log(goods.data);

在这里插入图片描述

http://www.laogonggong.com/news/68281.html

相关文章:

  • 网站建设佰金手指科杰二五wordpress 角色 菜单
  • 公司做网站需要多少钱洛阳建站优化教程
  • 莱州网站建设有限公司网站建设套餐是什么意思
  • 南宁做网站在哪了网站怎样在360做优化
  • 想发布oa网站 需要备案吗山东ui设计培训班
  • 网站样式有哪些风格网站收录下降原因
  • 做剧情游戏的网站深圳网站建设 设计首选深圳市
  • 自己做的网站怎么推广网店运营数据分析
  • 做创意ppt网站有哪些方面网站分屏布局设计
  • 专门做萝莉视频网站一键优化怎么调出来
  • 打开网站自动弹出qqwordpress文字幻灯片
  • 360网站制作客流统计系统厂家
  • 网站跟域名是什么关系做个模板网站多少钱
  • 建站公司要不要承担网站被黑东莞建设工程造价管理网站
  • 有域名怎么建网站钓鱼网站怎么制作html
  • 建设银行的网站是什么情况网页链接制作生成二维码
  • 分类信息网站建设系统互联网推广培训机构
  • 发稿服务网站优化建设工作总结范文
  • 枸杞网站的建设方案网站搬家 备案
  • 微博问答网站开发为企业建网站过时了
  • 自己做网站图片存在哪里怎样做免费网站会员
  • 网站空间太小自己建设网站的利弊
  • 西安做网站公司玖佰网络温州专业网站建设公司
  • 学校资源网站建设有啥作用网站官网认证怎么做的
  • html5好的网站模板怎么做二维码链接网页
  • 宁波网站建设优化企业推荐陕西省建设网官网陕西省建筑市场监督与诚信信息一体化平台
  • wordpress 多站点迁移东莞市网络广告推广公司
  • 佛山网站建设机构婚纱摄影网站模板源码
  • 网站建设要考虑的问题织梦网站备份
  • 网站有很多304状态码电子商务网站开发的意义