犀牛书 - Object对象、 Function函数

三类JavaScript对象和两类属性作区分:

  • 内置对象(native object)是由ECMAScript规范定义的对象或类。例如,数组、函数、日期和正则表达式都是内置对象。

  • 宿主对象(host object)是由JavaScript解释器所嵌入的宿主环境(比如Web浏览器)定义的。客户端JavaScript中表示网页结构的HTMLElement对象均是宿主对象。既然宿主环境定义的方法可以当成普通的JavaScript函数对象,那么宿主对象也可以当成内置对象。

  • 自定义对象(user-defined object)是由运行中的JavaScript代码创建的对象。

  • 自有属性(own property)是直接在对象中定义的属性。

  • 继承属性(inherited property)是在对象的原型对象中定义的属性。

function counter(n) {
  return {
    get count() { return n++ },
    set count(m) {
      if (m > n) {
        n = m
      } else {
        throw Error('can only set a larger value')
      }
    }
  }
}

你可能感兴趣的:(犀牛书 - Object对象、 Function函数)