美文网首页
简单学Javascript的对象

简单学Javascript的对象

作者: chenge微博谈 | 来源:发表于2015-08-23 11:13 被阅读32次

这个部分是js最重要的部分,也是最难掌握的部分。最近看到一本书《Speaking Javascript》, 分四层讲解,感觉很有效。

Chapter 17. Objects and Inheritance

There are several layers to object-oriented programming (OOP) in JavaScript:
Layer 1: Object-orientation with single objects (covered in Layer 1: 单个对象)
Layer 2: Prototype chains of objects (described in Layer 2: 原型链)
Layer 3: Constructors as factories for instances, similar to classes in other languages (discussed in Layer 3: 构造函数)
Layer 4: Subclassing, creating new constructors by inheriting from existing ones (covered in Layer 4: 基于构造函数的继承)

前三层

我这里分享下前三层的一点浅见,第四层我留待以后再探讨。

1 单个对象

calc = {
    add: function(x, y){
        return x + y
    }
}

console.log(calc.add(1, 3))

这个非常简单直观。

2 原型链

这个是js特立独行的地方:

对象————>原型

代码示例如下:

calc2 = Object.create(calc)
calc2.sub = function(x, y){
    return x - y
}

console.log(calc2.add(1, 3))
console.log(calc2.sub(1, 3))

create方法建立了原型链的关系,calc2扩展了sub方法,也有继承的意味,代码也很容易理解吧。

3 构造函数

构造函数是很多书介绍的方式,稍微复杂一些

function Calc(){

}

Calc.prototype.add = function(x, y){
    return x + y
}

aCalc = new Calc()
console.log(aCalc.add(2, 3))

总结

  • 我更倾向于前两种方式,简单直观。
  • 精熟学习法:对于困难的东西可以用分层的方法来学习。

相关文章

  • 简单学Javascript的对象

    这个部分是js最重要的部分,也是最难掌握的部分。最近看到一本书《Speaking Javascript》, 分四层...

  • JavaWeb--JSON

    JSON:JavaScript Object Notation,JavaScript对象表示法,由于语法简单,层次...

  • Python -- Json 数据编码及解析

    Json 简单介绍 JSON:JavaScriptObjectNotation(JavaScript 对象表示法)...

  • 创建简单的JavaScript对象

    引言:阅读《JavaScript语言精粹》这本书时的一些笔记摘要。在JavaScript,一切皆对象,对象相当于属...

  • JavaScript对象属性

    JavaScript对象属性 简单理解对象 运行环境 node V10.16.3 对象属性 数据属性数据属性包含...

  • JavaScript面向对象与原型

    简单梳理一遍js的对象和原型 JavaScript对象 再谈this 上述的this表示new Object()实...

  • 更多面向对象的JavaScript

    JavaScript有不止一种方法创建对象。 简单的对象创建 最简单的创建对象的方法是用一个新的Object开始,...

  • 面向对象的JavaScript

    JavaScript有不止一种方法创建对象。 简单的对象创建 最简单的创建对象的方法是用一个新的Object开始,...

  • JavaScript 对象研究

    对象,简单的理解就是,除了单身旺,都有对象。非常装13的理解就是,万物皆为对象。 在 JavaScript 里面,...

  • javascript原形和原形链

    一、函数对象和普通对象 javascript中,一切皆是对象,分为函数对象和普通对象。下面举一个简单的例子。 其中...

网友评论

      本文标题:简单学Javascript的对象

      本文链接:https://www.haomeiwen.com/subject/etdxcttx.html