constrcutor

/**
 * Created by Administrator on 2015/5/11.
 */
var Super = function(){
};
Super.prototype.sayHello = function(){};

var Sub = function(){
    Super.call(this);
};

Sub.prototype = new Super();
Sub.prototype.constructor = Sub;//为什么要指回来?
//因为Sub.constructor变成了Super,
// 构造函数如果需要辨别自己是谁构造出来的,就需要指回来
Sub.prototype.subSayHello = function(){};

var sub = new Sub();

var s = new Super();

sub.constructor === Sub //true
sub.constructor === Super //false

sub.__proto__ instanceof Super //true
sub.__proto__ instanceof Sub //false

  

时间: 2024-10-14 21:54:29

constrcutor的相关文章

JS中的类型检测

JS中用于类型检测的函数有typeof.instanceof .Object.prototype.toString.constrcutor.duck type typeof用于检测基本类型和函数 有些特殊情况 null.数组.Date数据类型用typeof判断返回的是object instanceof用来判断对象类型,基于原型链,可以用来判断数组和Date数据类型

String对象的属性和方法

创建字符串的两种方法: 1.直接量:var str = ""; 2.字符串对象创建: new String(""); String对象的属性 1.constrcutor 2.prototype 3.length:   str.length可以获取字符串长度 String对象的方法 1.匹配相关:与正则表达式配合使用 (1)str.match(RegExp):匹配指定字符串 (2)str.replace(RegExp):替换指定字符 (3)str.search(Reg

javaEE学习笔记【02】JDK新特性

泛型的使用 原则"使用泛型的时候左右两边要一致!" 1 2 3 List  list = new ArrayList<String>();     //add提示的是Object List<String>  list = new ArrayList ();    //add提示的是String List<String>  list = new ArrayList<String>();  //add提示的是String 以上的语法全对,但是

第20篇 js高级知识---深入原型链

前面把js作用域和词法分析都说了下,今天把原型链说下,写这个文章费了点时间,因为这个东西有点抽象,想用语言表达出来不是很容易,我想写的文章不是简单的是官方的API的copy,而是对自己的知识探索和总结的过程,以及在这个过程碰到的问题都一一写出来,我想大多数人应该也有这个疑惑,然后带着疑惑去找答案,当你把这个疑惑解决之后,才觉得很有成就感.下面不多说了,开始说说什么是原型链.要想了解原型链,还是要从简单的开始,什么是原型?首先看下代码: function funcA() { this.show =

JavaScript高级程序设计---学习笔记(二)

面向对象程序设计 1.属性类型.定义多属性.读取属性特性对象的属性在创建时都带有一些特征值,JavaScript通过这些特征值来定义它们的行为.这些特性是为了实现JavaScript引擎用的,因此不能直接访问它们.ECMAScript中有两种属性:数据属性和访问器属性. 1)数据属性数据属性包含一个数据值的位置,在这个位置可以读取和写入值.数据属性有4个描述其行为的特征.1.[[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改

Default Constructor的构建操作

在<C++ Annotated Reference Manual(ARM)[ELLIS90]>中的Section 12.1告诉我们:"Default constructors...在需要的时候被编译器产生出来". 其实默认构造函数也是分为两类的:有用的(nontrivial ).无用的(trivial ). 所谓有用的标准也是就默认构造函数会为我们的类做一些初始化操作.那么无用的就不会做任何工作,从而对我们的类也就没有任何意义. 所以,我们通常所说的默认构造函数是指有用的默

Javascript属性constructor/prototype的底层原理

在Javascript语言中,constructor属性是专门为function而设计的,它存在于每一个function的prototype属性中.这个constructor保存了指向function的一个引用.在定义一个函数(代码如下所示)时, function F() { // some code } JavaScript内部会执行如下几个动作: 为该函数添加一个原形属性(即prototype对象). 为prototype对象额外添加一个constructor属性,并且该属性保存指向函数F的

使用指定构造器和参数列表构造实例

给定构造函数和参数列表,求构造实例 /** * Note: This function uses window.eval, * which means the function is not available in strict mode */ function newInstance(constrcutor,args){ var length=args.length; var cacheKey="$"+length; var f=newInstance[cacheKey]; if(

android hook 框架 ADBI 如何实现dalvik函数挂钩

前面几篇分析已经能做到注入一个so到目标进程并用so里的函数挂钩目标进程的函数,如果对这个实现不了解,请返回去阅读  android hook 框架 ADBI 简介.编译.运行  . android hook 框架 ADBI 如何实现so注入 .android hook 框架 ADBI 如何实现so函数挂钩, so函数的挂钩只能影响native世界,没有影响到java虚拟机内部,而android绝大部分逻辑都是跑在虚拟机内部的.所以这篇接着分析 adbi 剩下的部分代码,看它如何实现挂钩dalv