JS-OOP(对象)

对象

对象在JS中的地位很重要,咱们每时每刻都在和对象作着交互。可是如何向一我的介绍什么是对象呢?函数

我的感受对象就像一个集合,集合中的元素也一定属于这个集合。
就像对象中的属性都是围绕这个对象展开的。或者能够借用电商方面的一个词语sku,它定义为保存库存控制的最小可用单位,那么对象就能够看作拥有这些sku的商品。this

var personal = {
   name: '', 
   age: '',
   gender: ''
   ...
}

以上就是一个简单对象的定义方法,我定义了一个personal对象,他目前有三个属性,属性是这样定义的[key:value]code

属性类型

属性是属于对象的,在JS中咱们操做对象获取它的属性或者修改它的属性。EXMAScript中有两种属性数据属性&访问器属性对象

数据属性

数据属性包括一个数据值的位置。这个位置能够读入以及写入值ip

若是要修改属性的默认特性经过Object.defineProperty()方法进行修改,这个方法接收三个参数get

  • 第一个:属性所在的对象
  • 第二个:属性的key
  • 第三个: 描述符对象(这是一个对象)
var book = {
    name: 'JS权威指南',
    price: 115
}

Object.defineProperty(book,'name',{
   writeable: false,
   value: 'JS高程'
})

访问器属性

访问器属性不包含数据值,可是包含一对getter/setter函数,读取访问器调用getter,设置值时调用setterit

var book = {
   year: 2018,
   author: 'xx'
}

Object.defineProperty(book,'year',{
   get: function () {
      return this.year;
   },

   set: function (val) {
     var time = this.year; 
     if(val<time){
         return "新书"
     }
     ....
  }
})
相关文章
相关标签/搜索