我们经常会用JS的构造函数实现Java语言中的继承,今天整理一下构造函数的相关属性及说明。
下面定义一个构造函数:
function Person(name, sex, age) {
this.name = name;
this.sex = sex;
this.age = age;
}

  

以上面这个构造函数为例梳理一下构造函数的相关属性,如下表:
属性名
说明
__defineGetter__ 用于追加定义getter方法,继承自Object
__defineSetter__
用于追加定义setter方法,继承自Object
__lookupGetter__
获取getter属性,ES5 getOwnPropertyDescriptor
__lookupSetter__
获取setter属性,getPrototypeOf
apply、call、bind
调用当前方法,以另外的对象替代当前对象
aguments
调用该函数时传入的参数
caller
获取调用当前函数的函数
length
获取为一个函数定义的参数数目
name
函数名称
propertyIsEnumberabel
属性是否可枚举
prototype
输出格式是构造函数名 原型
toLocaleString
转化成本地化字符串
toString
转化成字符串
valueOf
转化成原始值(string number null undefined boolean)
__proto__
原型链:私有属性(FF暴露为共有属性):实例化对象拥有该属性
constructor
构造函数
 
通过上述实例理解主要属性的使用:
//创建Person的原型
Person.prototype = {
  construtor: Person,
sayHello: function() {
alert('Hello');
}
}
//实例化,可以实例化多个对象
var danny = new Person('Danny', 'male', 18);
var jenny = new Person('Jenny', 'female', 24); Person.prototype.isPrototypeOf(danny) //true,说明danny继承了Person的属性
danny .constructor //Person
Person.constructor //Function var tom = {};
danny.sayHello.apply(tom); //tom也能使用danny的sayHello danny.__proto__ == Person.prototype //__proto__ 可以理解为对象的父对象

  

 
想要了解更加详细的讲解,可以查看参考资料的讲解~
 
参考资料:
http://msdn.microsoft.com/zh-cn/library/x844tc74(v=vs.94).aspx
http://www.douban.com/note/293217333/
 

Javascript构造函数学习的更多相关文章

  1. JavaScript构造函数学习笔记

    1 理解Javascript constructor实现原理 在 JavaScript 中,每个函数都有名为“prototype”的属性,用于引用原型对象.此原型对象又有名为“constructor” ...

  2. JavaScript构造函数学习笔记分享

    构造函数就是一个普通的函数,创建方式和普通函数没有区别 不同的是构造函数名习惯上首字母大写 普通函数是直接调用,而构造函数需要使用new关键字来调用 构造函数的执行流程: 立刻创建一个新的对象 将新建 ...

  3. JavaScript紧凑学习

    JavaScript紧凑学习 windows本地,调用命令行: win键+R 键入cmd , (cmd是Command 命令行 简称) 目录是C盘下的 C:\Users\Administrator&g ...

  4. javascript正则表达式 - 学习笔记

    JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...

  5. Javascript的学习清单

    Javascript的学习清单 Javascript学习资源 程序员必读书籍 深入理解JavaScript系列 es6教程 jQuery中文文档 vue官网 zeptojs中文版 常用的插件与UI组件 ...

  6. JavaScript 核心学习——继承

    本篇博文讲述如何在 JavaScript 中实现继承,以及原型与原型链的知识,在附录中将会讲述 JavaScript 面向对象的常见错误. ##原型与原型链在 JavaScript 中,使用类将会付出 ...

  7. 正则表达式(javascript)学习总结

    正则表达式在jquery.linux等随处可见,已经无孔不入.因此有必要对这个工具认真的学习一番.本着认真.严谨的态度,这次总结我花了近一个月的时间.但本文无任何创新之处,属一般性学习总结. 一.思考 ...

  8. JavaScript 构造函数

    关于JavaScript构造函数,如今出现了很多JavaScript的框架,例如jQuery.Ext等等这些,这些将JavaScript作为一种面向对象的语言进行编程,那么JavaScript到底是怎 ...

  9. 大量Javascript/JQuery学习教程电子书合集

    [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人   不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pd ...

随机推荐

  1. Android去除系统自带动画的两种方法

    方法一: 在startActivity()或者finish()后紧跟调用: ((Activity) mContext).overridePendingTransition(0, 0); 方法二: 在一 ...

  2. asp.net页面之间的跳转

    调用Request.CurrentExecutionFilePath方法返回到当前页面 站点中常常要跳转页面,调用Request.CurrentExecutionFilePath方法能够获取当前页面的 ...

  3. Opencv 简单的图片显示

    #include <opencv\cv.h> #include <opencv\highgui.h> #include <opencv\cxcore.h> int ...

  4. [RxJS] Changing Behavior with MapTo

    You often need streams to trigger different behaviors on the data based on which streams triggers. T ...

  5. Unity发送短信

    闲来无事,觉得用uinity来发送短信挺有意思的,所以自己差了点资料,看看能否实现,结果还真的可以!废话不多说,直接码! 1,新建一空工程,我们就简单的使用UGUI搭建一个丑陋的界面吧! 2,界面极其 ...

  6. js数字精度丢失

    http://www.cnblogs.com/snandy/p/4943138.html

  7. 拉姆达表达式(Lambda Expressions)

    上面两种写法是一样的 ,拉姆达表达式也是一种委托, 但引用的是匿名方法

  8. w530 在ubuntu 12.04 _x64 背光调节方法

    So to get the screen brightness keys working with your Nvidia graphics card, create a file in the xo ...

  9. show_space/get_alert_log/get_trace_file

    1.get_alert_log 获取alert文件的路径和名称 set serveroutput on        --设置输出,让sqlplus在屏幕上可以输出.(要加入到login.sql中!) ...

  10. Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates /data/app/vmdl201020547.tmp/base.apk is signed using APK Signature Scheme v2, but no such signature

    错误信息: 12-26 11:08:44.809 1501-1535/system_process E/PackageInstaller: Commit of session 201020547 fa ...