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

长沙市天心区建设局网站优速网站建设

长沙市天心区建设局网站,优速网站建设,wordpress猫咪主题,网站制作公司天强科技05_属性描述符 文章目录 05_属性描述符一、属性描述符是什么#xff1f;二、属性描述符①#xff1a;查看属性描述②#xff1a;设置属性描述符③#xff1a;案例01.代码实现02.代码实现#xff08;优化#xff09; 一、属性描述符是什么#xff1f; 属性描述符的结构 在…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) ③案例 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.hkea.cn/news/14505973/

相关文章:

  • 网站建设公司 北京iis7如何部署网站
  • 站酷设计网站官网入口免费酒店管理专业建设规划
  • 公益网站的设计与建设网站开发实训结果分析及其心得体会
  • 城乡厅建设部网站首页电子商城官网
  • 丹徒区建设局网站flash做游戏下载网站
  • 购物网站模块是什么意思电影介绍网页设计代码
  • 视频播放网站建设免费招商加盟代理
  • 网站的建设有什么好处巢湖市重点工程建设管理局网站
  • 移动端优秀网站wordpress不能重置密码
  • 椒江网站建设可以做网站的软件上传歌曲
  • seo网站推广简历桂林人论坛新闻
  • 营销型网站一般有哪些内容爱建站吧
  • 苏州网站建设专业的公司域名官网
  • 长沙企业网站建设公扬州网站建设哪家好
  • 电商网站销售数据分析自己如何制作一个网站
  • 最好的网站建设vscode网页设计教程
  • 做软件挣钱的网站西安网站建设方案
  • 传奇广告查询网站济南建设工程交易中心
  • 企业门户网站开发代码四川做网站设计公司价格
  • 网站分页js携创网
  • 电子商务网站建设实训上海优化公司排行榜
  • 建设网站需要注意什么问题小鸟云服务器官网
  • 教育网站建设的策划iis搭建网站怎么做前端
  • 免费建建网站空间设计和室内设计的区别
  • 百度云网站建设教程视频商务网站模块设计时前台基础设施建设
  • 曲阳网站制作公司做好我局门户网站建设工作
  • 江门专业做网站网店
  • 晋中建设网站网站建设三网合一
  • 网站建设行内资讯医社保增减员在什么网站做
  • 北京网站建设是什么搜索引擎优化工作