其实一开始编js没怎么用过对象,一般都用func,func,func···但是用多了,感觉代码一点都不美观,还要这里包一个函数,那里包一个函数,或者一直都是函数调用,不好看,而且一些重用的都要重写的话就很麻烦(不好意思,对于我这种新手,开始还是一般用func比较高效率···)。所以就决定开始要用object来编程才能更省事,下面就是我看了一些博客文章关于类的见解,有什么不对的希望各位可以多多给些指点:

对于类的编程,声明的方法有如下几种:1、var test = function(){};2、function test(){};3、var test = new Object();4、var test = {};···我现在能想到的就只有这四种,麻烦各位大神还有什么可以声明对象的继续补充,小弟在此谢过!

此时要分开方法来说:

对于1、2方法,应该是有一些已有属性的,就好像你给test.name加个值,但是你发现输出test.name的时候是输出  func  的名字,不过test可以加其他静态属性,但是还有没有其他保留字,暂时我还没继续去找;

而对于3、4方法,是可以向test.name赋值的,也会正确输出该值。

所以,对于func固有的属性,若用func方法来声明对象就可能有些值是不允许赋的,因此,个人更建议对象声明时用的是3、4方法。但是,其实用func来声明类的好处就是可以更直观地初始化一些基本的值


接着就是类的继承,下面举个例子

var parent = function(name,age){
this.name = name;
this.age = age;
this.method = function(){
alert("This is my method!");
}
}
//类继承 var child = function(name,age){
parent.apply(this,arguments); //OR test.call(this,name);this.age = age;
//Other method or variables
}
//这种继承其实有一个好处就是可以直接在子类里面实例化父类,父类的变量只要在func本体内就可以直接在子类中用了。但是,子类内实例化并不是万全之策,下面再看看 /*---------------------------------------------------------------------------*/ var parent = function(name,age){
this.name = name;
this.age = age;
}
parent.prototype = {
run: function(){
alert(this.name + " is running!");
},
work: function(){
alert(this.name + " is working!");
},
} var child = function(name,age){
this.name = name;
this.age = age;
}
//类继承
child.prototype = new parent(); var c = new child("li",20);
c.run();//有alert,如果像之前在子类内用parent.apply方法,那么parent.prototype的内容对于child是没作用的,所以我就觉得这个就是子类内定义父类(parent.apply)和外面子类prototype(child.prototype = new parent())的区别

以上就是本人菜鸟的一些学习内容,希望有什么错误的话可以得到各位的指正!谢谢!

javascript类继承的一些实验的更多相关文章

  1. JavaScript类继承, 用什么方法好

    JavaScript类继承, 用什么方法好 一个实例: 基类Car: function Car(color, year) { this.name = "car"; this.col ...

  2. Javascript类继承-机制-代码Demo【原创】

    最近看到<Javascript设计模式>,对js模拟的”继承方式“有了更深一步的了解,虽然之前也总是用到prototype.new ,但只是知其然不知所以然,现在将类继承的方法整理如下,暂 ...

  3. Javascript 类继承

    Js继承 JavaScript并不是真正面向对象的语言,是基于对象的,没有类的概念. 要想实现继承,可以用js的原型prototype机制或者用apply和call方法去实现 /** 声明一个基础父类 ...

  4. JavaScript类继承

    和其他功能一样,ECMAScript 实现继承的方式不止一种.这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的.这意味着所有的继承细节并非完全由解释程序处理.作为开发者 ...

  5. javascript类继承系列五(其他方式继承)

    除了前面学习的三种继承外,还有另外三种:原型继承寄生继承,寄生组合继承都是以: function object(o) { function F() { } F.prototype = o; retur ...

  6. javascript类继承系列二(原型链)

    原型链是采用最主要的继承方式,原理:每一个类(构造器,js中的function)都有一个原型属性(prototype)指向一个原型对象,原型对象有一个构造器(constructor),它又指回到fun ...

  7. javascript类继承系列四(组合继承)

    原理: 结合了原型链和对象伪装各自优点的方式,基本思路是:使用原型链继承原型上的属性和方法,使用对象伪装继承实例属性,通过定义原型方法,允许函数复用,并运行每个实例拥有自己的属性 function B ...

  8. javascript类继承系列三(对象伪装)

    原理:在子类的构造器上调用超类构造器(父类构造器中的this指向子类实例),js提供了apply()和call()函数,可以实现这种调用 function baseClass() { this.col ...

  9. javascript类继承系列一

    js中没有提供类(class,抽象类,接口等高级的抽象),可以用new,但new的function的对象,构造器 但在js中可以通过function来模拟类的一些特性function fun_name ...

随机推荐

  1. js跳转

    window.location.reload(); //刷新当前页,参数保留

  2. UIButton的文本与图片的布局

    UIButton内部文本和图片的布局是我们日常代码中,不可缺少的部分,按钮默认左边图片右边文本,那要实现左边文本,右边图片,我们该怎么解决呢,上面图片,下面文本又该怎么办呢 其实很简单,今天总结下,目 ...

  3. 微信小程序-发起请求

    wx.request(object) wx.request发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. object参数说明: 示例代码: wx.request({ url: ...

  4. 微信小程序-视图事件

    事件 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 ...

  5. 点燃圣火! Ember.js 的初学者指南

    现在,到处都可以看到复杂的 JavaScript 应用程序. 由于这些应用程序变得越来越复杂,一长串的 jQuery 回调语句,或者通过应用程序在各个点执行不同的函数调用,这些都变得无法再让人接受. ...

  6. maven命令参考简要

    命令参考简要说明 mvn archetype:generate — 创建生成Tiny骨架工程 参数名 说明 groupId 用户项目的包目录,用户需要根据实际情况设置.比如com.abc artifa ...

  7. getParameterMap()的返回值为Map<String, String[]>,从其中取得请求参数转为Map<String, String>的方法如下:

    直接遍历报错:[Ljava.lang.String;@44739f3f Map<String, String> tempMap = new HashMap<String, Strin ...

  8. 自动生成build.xml文件

    使用Eclipse 自动生成 Ant的Build.xml 配置文件,选择要生成Build.xml文件的项目,鼠标右键, Export-> General -> Ant Buildfiles ...

  9. [C语言入门笔记]循环与运算符

    循环与运算符 什么是循环? 循环就是一个不停工作的东西,可以反复的实现一个功能,这个才是计算机的重点.计算机可以重复的做一件事情,这样子可以省很多事情 循环的种类有哪些? While Do while ...

  10. [第一个自己做的C小程序]丧失求生文字小游戏

    丧失求生文字小游戏 编写原因: 我编写这个小程序是为了结合下我学习的知识并且做一个小游戏来看看我自己的能力,目前我已经学完了C语言的编程基础.马上就要学到指针,这个就是我的基础总结项目,希望大家可以都 ...