js实现属性只读

时间: 2019-05-14阅读: 665标签: 属性

第一种 Object.defineProperty

这种是在vue源码中看见的

let obj = {
  $data: {}
};

Object.defineProperty(obj, '$data', {
  get() {
    return this;
  },

  set() {
    return console.warn('只读属性不能修改');
  }
})


第二种使用闭包实现

使用场景:团队协作开发的时候,没有详细的文档规范,防止队友误操作。

const Ds = (function () {
  const obj = {
    $data: {
      a:1
    }
  }

  class Ds {
    get() {
      return obj;
    }
  }

  return new Ds();
})()

console.log(Ds.get());
console.log(Ds.obj); // undefind


站长推荐

1.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

3.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/3321

CSS通过text-transform实现大写、小写和首字母大写转换

再日常项目中可能会用到一些特殊的样式,比如大写字母转小写、小写字母转大写、首字母大写等。可以通过 CSS 的 text-transform 属性来实现:

CSS overflow-wrap新属性值anywhere是干嘛用的?

CSS overflow-wrap 属性其实就是以前的 word-wrap 属性,MDN现在直接把 word-wrap 的文档页跳转到 overflow-wrap 属性的文档页了。由于 overflow-wrap 属性IE浏览器不支持,而其他现代浏览器依然支持老的 word-wrap 属性语法

Js对象的内部属性

表示能否通过delete删除属性从而重新定义属性,(设置为false,表示不能从对象中删除属性(在严格模式下调用delete会报错)),能否修改属性的特性,能否把数据属性修改为访问器属性(或相反),

7 个 CSS 好用的属性

学习CSS是构建好看网页的一种方式。 但是,在学习过程中,我们倾向于(大部分时间)限制自己,一遍又一遍地使用相同的属性。 毕竟,我们是一种习惯性的动物,我们会使用自己习惯且熟悉的东西。

CSS3的content属性详解

CSS中主要的伪元素有四个:before/after/first-letter/first-line,在before/after伪元素选择器中,有一个content属性,能够实现页面中的内容插入。

HTML5视频标签 video 的 poster 属性

<video> 标签定义视频,比如电影片段或其他视频流,可以放置视频资源,并添加视频控件。poster 属性规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。

css calc()有啥用?

CSS3的calc() 函数用于动态计算长度值。calc()函数允许我们在属性值中执行数学操作。例如,我们可以使用 calc() 指定一个元素宽的固定像素值为多个数值的和。

React 最重要也最容易被遗忘的属性 $$typeof

为什么说 $$typeof 是最重要的属性?因为它是代码安全的一道重要防线。如果你用过 React,对 type、 props、 key、 和 ref 应该熟悉。 但你不一定知道 $$typeof?

9个必知的CSS属性

如今的Web设计在不断跟进最新的开发技术,纷纷采用HTML5来开发多样性的Web应用。HTML5的优势之一,就是之前必须用图片实现的元素,现在可以用代码来实现

HTML的poster属性怎么用?

HTML的poster属性主要应用在<video>元素中,用于在视频下载或用户单击播放按钮时显示图像;如果未设置此图像,则会将第一帧视频作为海报图像。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广