`
jinhonglin001
  • 浏览: 14509 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

javascript面向对象思想的学习(二)

 
阅读更多

       随着学习的进行,不可避免的要学习使用面向对象的思想去解决问题,然而经过好多资料的查询都并没有很好的解决自己的问题,那些讲解很好理解,但是却不会熟练的运用到解决实际问题中。所以先把自己理解的一些东西做些总结记录。

       javascript是一种基于原型的语言,要和java、c++等基于类的语言区分清楚,js只有对象。具有一种所谓的原型对象(prototypical object)的概念,原型作为一个模板,新的对象可以从中获取他的属性。任何对象都可以指定自身的属性,既可以创建时也可以在运行时创建。而且任何对象都可以作为另一个对象的原型,允许后面的对象共享前者的属性。

   虽然javascrpt中时没有类这个概念的,javascript中的原型其实就相当与java中的类,网上有好多关于面向对象原型的创建,对象的继承等,在这里我把javascript中的“类”方法和实例方法做一个简单区分和介绍。

    

function Person(){   //声明一个类
     this.constructMethod = function(){};  //添加构造构造方法
};
 Person.classcMethod = function(){}; //添加类方法 
 Person.prototype.protocMethod=function(){};//添加原型方法

 区别:

Person.classMethod();//类方法直接调用,谁都可以调用
2  var student = new Person();
3  student.constructMethod();//构造方法,只有他的实例才能调用
4  student.protoMethod();//原型方法也是只有他的实例才能调用

 介绍:

  一:类方法在内存中只会有一份,因为它只属于类本身,在实际中,我们一般不会用到类方法。写出来主要是知道它而已

  二:构造方法和原型方法都是实例的,但是构造方法会在每一次new Class()时,都在内存中产生一个新的副本。通常这种方法我们用在实例间的不同之处。每个实例的构造方法互不影响。但是显然,它又占据内存了。原型方法就正好相反,它不会随着new Class()时产生新的副本,它在内存中也只有一份。可以实现实例间的共享。同时也节约了内存。

  总结:在开发时,一般不会用到类方法,将有共性的方法做成原型方法,将有个性的方法做成构造方法。

  提到构造方法,可以在他的实例中添加方法

function Person(){};
var student = new Person();
student.instanceFn=function(){};//添加实例方法

 

 

分享到:
评论

相关推荐

    JavaScript面向对象编程指南

    这本书对javascript的一些核心技术,面向对象思想讲的很到位,分析的很容易理解,适合初学者以及想深入学习javascript OO的人

    js面向对象封装拖拽移动功能,兼容pc和移动端

    采用JavaScript面向对象思想封装拖拽移动功能,兼容pc端和移动端,适合JavaScript初学者进阶学习。

    学习javascript面向对象 理解javascript对象

    面向对象:对象作为程序的基本单元,程序分解为数据和相关操作 二、类、对象 类:对具有相同特性和特征事物的抽象描述 对象:某种类型对应的具体事物 三、面向对象的三大特性 封装:隐藏实现细节,实现代码模块化 继承...

    javascript 设计模式简化版

    包括面向对象,面向对象编程思想,javascript面向对象,设计模式通俗版,快速进入模式学习与实践。

    .Principles.of.Object-Oriented.Programming.in.JavaScript

    学习javascript的面向对象开发技术,掌握OOP思想

    JavaScript-面向对象精讲系列

    在鱼龙混杂的前端行业中,面向对象一直是一个非常让学习者头疼的区域...但是面向对象思想也是前端工作人员的一个非常重要的技能之一,学会面向对象之后,可以大幅度提高对JS的理解,让你在JS的世界中又迈了很大的一步。

    说说掌握JavaScript语言的思想前提想学习js的朋友可以看看

    潜意识里也就不会用面向对象的思想去编写JavaScript代码,也很少会去深入了解prototype, closures等概念。这导致书写的代码经常很糟糕。 对于JavaScript的学习,可能最重要的还是要从思想上认识到JavaScript不是...

    百度java贪吃蛇源码百度-JavaScriptAdvanced8:JavaScript高级联系新版

    理解面向对象开发思想 - 掌握 JavaScript 面向对象开发相关模式 - 掌握在 JavaScript 中使用正则表达式 - typora-copy-images-to media --- JavaScript 高级 课程介绍 课程大纲 在线地址: 目标 理解面向对象开发...

    JavaScript该如何学习 怎样轻松学习JavaScript

    它里面不但牵涉面向过程编程思想,又有面向对象编程思想,同时,它的面向对象还和别的编程语言(如:C++,JAVA,PHP)不大一样。就好像又是新的一样,让你对曾经学的面向对象产生了怀疑…… D:辛苦学习后又看似和...

    传智播客 李东超 第2讲_贪食蛇

    javascript是学习网页编程...这是李东超讲师的随堂所录视频,主要讲解使用javascript语言编写的贪食蛇小游戏,在本例中,使用的是面向对象的编程思想,可以让有基础的同学对js的掌握以及js面向对象的理解更加深入一层!

    传智播客 李东超 第3讲_贪食蛇

    javascript是学习网页编程...这是李东超讲师的随堂所录视频,主要讲解使用javascript语言编写的贪食蛇小游戏,在本例中,使用的是面向对象的编程思想,可以让有基础的同学对js的掌握以及js面向对象的理解更加深入一层!

    李东超 第1讲_贪食蛇

    javascript是学习网页编程...这是李东超讲师的随堂所录视频,主要讲解使用javascript语言编写的贪食蛇小游戏,在本例中,使用的是面向对象的编程思想,可以让有基础的同学对js的掌握以及js面向对象的理解更加深入一层!

    开发动态网站的建议,绝对的有用

    如果LZ要学ASP.NET,首先学习C#的语法、面向对象的编程思想(既然你会VBS,用VB也可以的。)。 前期LZ可以试着做一些简单的控台或者WinForm 然后学习ADO.NET,这个不可或缺。操作数据。 再然后学习ASP.NET,但是建议...

    数据结构与算法:进度40%以C语言严谨描述数据结构与算法,同时以Go、JavaScript、C++等语言以简洁方式实现

    code-c++ 使用 C++环境(以 .cpp 为文件后缀),使用纯正的 C++面向对象方式书写 源码中并未采取面向接口、继承等思想来实现工具方法的复用,笔者认为不应该将编程语言的学习成本带入数据结构,笔者的意愿是:学习者...

    通过jQuery源码学习javascript(二)

    巧妙1:函数 在javascript代码中函数是个不可多得的人才。 :heart_suit: 它可以归置代码段... 上面的空函数就是所谓的构造函数,构造函数在面向对象语言中是类的一个基本方法。 巧妙2:扩展原型 何为原型对象?我给出一

    基于JavaWeb的养老院管理系统的设计与实现毕业论文

    本篇分享一篇基于JavaWeb的养老院管理系统的...用面向对象的编程思想,按照软件工程的基本开发步骤进行系统分析、设计与实现。如上只是一个参考论文模板,感兴趣的自行下载学习,希望对大家有帮助。祝大家学业顺利!

    JS 函数式编程指南

    虽然面向对象编程(Object-oriented programing)主导着业界,但很明显这种范式在 JavaScript 里非常笨拙,用起来就像在高速公路上露营或者穿着橡胶套鞋跳踢踏舞一样。我们不得不到处使用 bind 以免 this 不知不觉地...

    中美 IT 培训 C# Asp.net 笔记2

    C# 基本语法、面向对象的思想、数据结构和算法以及设计模式(120课时) 详细介绍.Net Framework、C# 基本语法、编程规范和编程技巧、面向对象的认识问题和分析问题的思想、以及数据结构和常用算法,学习单件模式、...

    中美 IT 培训 C# Asp.net 全套笔记1

    C# 基本语法、面向对象的思想、数据结构和算法以及设计模式(120课时) 详细介绍.Net Framework、C# 基本语法、编程规范和编程技巧、面向对象的认识问题和分析问题的思想、以及数据结构和常用算法,学习单件模式、...

Global site tag (gtag.js) - Google Analytics