js实现属性只读

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

第一种 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


css3的calc属性不生效问题

css3的 calc:计算属性。由于自己做的项目中这个属性不常用到,偶尔用一次还没效果。后来研究了下是因为运算符两边没加空格。

css3新增的属性有哪些?

CSS 用于控制网页的样式和布局。CSS3 是最新的 CSS 标准。CSS3新增了很多的属性,下面一起来分析一下新增的一些属性:

CSS filter 属性

filter将模糊或者颜色偏移等图像效果用于元素,通常用于调整图像,背景和边框的渲染,css 标准中已内置一些预定义效果的函数,也可通过url使用SVG滤镜

intrinsicsize实现图片恒定宽高比的属性

开发中可能会遇到这样的需求:一个响应式页面,它的图片宽度是随页面大小变化的,并且图片高度和宽度要保持固定的比率。这里假设图片是<img>元素,不是作为background

css常用属性

text-align 属性规定元素中的文本的水平对齐方式。属性值:none | center | left | right | justify;font-size表示设置字体大小,如果设置成inherit表示继承父元素的字体大小值。

vue组件事件属性穿透

$attrs包含从父组件传过来的属性,但不包含子组件中prop中的属性以及class和style,所以对于那些html元素原生属性,可以不用再子组件中声明,直接从父组件中传进来就好

CSS锚点

position属性定义建议元素布局所用的定位机制,z-index属性:检索或设置对象的层叠顺序,锚点链接:网页制作中超链接的一种,像定位器一样是一种页面内的超链接,设置锚点链接的方法:

csstext属性的使用_js中的style.cssText用法及特点

cssText 的本质就是设置 HTML 元素的 style 属性值。在某些浏览器中(比如 Chrome),你给他赋什么值,它就返回什么值。在 IE 中则比较痛苦,它会格式化输出、会把属性大写、会改变属性顺序

Vue与ref属性与refs的使用

ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例

css使用到的border边框属性

border 在一个声明中设置所有的边框属性。 border-bottom在一个声明中设置所有的下边框属性。border-bottom-color设置下边框的颜色。border-bottom-style设置下边框的样式。

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

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

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