js instanceof Object Function

Object、Function是javascript中顶级的两个对象,同时也属于两个顶级的构造器,function Object(){}、function Function(){}。Object、Function为两个独立的预先创建的两个对象。new Object创建一个具有Object特性的新的一个对象,new Function创建一个具有Function特性的一个新对象。

Object是一个对象,包含__proto__、prototype属性。

Object.__proto__ = function(){},  __proto__指向一个对象。

Object.prototype = {

  __defineGetter__:function __defineGetter__()

  ...

constructor: function Object()

hasOwnProperty: function  hasOwnProperty()

}

Function是一个对象,包含__proto__、prototype属性。

Function.__proto__ = function(){}, Function.__proto__与Object__proto__指向同一个对象,

即Function.__proto__ == Object.__proto__。

Function.prototype = function(){},Function.prototype、Function.__proto__与Object__proto__指向同一个对象。

即Function.prototype == Function.__proto__ == Object.__proto__。

Function.__proto__.__proto__ = Object.prototype。

Object instanceof Function(true)       Function instanceof Object(true)

obj instanceof func:表示obj原型链中是否有func.prototype指向的对象

Function.prototype = function(){}

Object.__proto__ = function(){}

Function.prototype与Object.__proto指向同一个对象function(){}

因此,Object instanceof Function 为true。

Object.prototype = obj;

Function.__proto__.__proto__ = obj;

Function.__proto__.__proto__ 与 Object.prototype 指向同一个对象,即Function.__proto__.__proto__ = Object.prototype 。

因此Function instanceof Object为true。

var obj = new Object();

过程:(1)创建一个新的对象obj(2)obj.__proto__ = Object.prototype

var Func = new Function(‘first‘,‘second‘,‘this.sum=first+second;console.log(this.sum); ‘);

前两个是传入参数,后一个是函数体。

过程:创建一个新的对象func,这个对象是特殊的对象,即函数。创建的过程中,

函数特性:(1)函数可执行(2)函数作为构造器

定义函数其它方式:

(1)

function Func(first,second){

  this.sum = first+second;

  console.log(this.sum);

}

(2)

var Func = function(first,second){

  this.sum = first+second;

  console.log(this.sum);

}

时间: 02-24

js instanceof Object Function的相关文章

JS的Object漫想:从现象到“本质”

转自:http://zzy603.iteye.com/blog/973649 写的挺好,用于记录,把对象分成概念的Object(var f={})和 类的Object(function F(){}) ------------------------------------- 前言 首先,要说明的我是一个计算机爱好者,但我并不是科班出身,也没有受过专业的培训,所以,有些专业名词可能用的不当或者看法偏激乃至错误,敬请谅解并给予斧正为盼. 一.Object是什么? 刚开始我简单地认为Object是js

js instanceof

a instanceof b: 1,首先a不是对象,返回false,b的原型不是对象抛出TypeError 2,取得b的prototype标记为bp,对a的原型链做循环,令ap为当前原型,如果ap与bp指向同一个对象,则返回ture c=[] c instanceof Array true c instanceof Object true 均返回true var f=function(){} var ff=new f() ff instanceof f true js instanceof,布布

js面向对象系列——Function函数对象

Function到底是什么东西? 1. Function是最顶层的构造器,它构造了系统中所有的对象,包括Object(Object是最顶层的对象,但要明确的知道Object也是一个函数,也是有Function构成的),Array,Date等 2. 一切都是对象,所以理论上理解Function也是一个对象,我们可以称为函数对象 这里简单介绍一下另一个重要的工具:instanceof 作用:检验对象的类型 function TestObject(){} TestObject instanceof O

js instanceof 解析

js中的instanceof运算符 概述 instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上 语法 obj instanceofObject;//true 实例obj在不在Object构造函数中 描述 instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上. 实例 1.instanceof的普通的用法,obj instanceof Object 检测Object

javascript中的Function与Object,function与object

function与object是数据类型,Function与Object是两个函数对象的标识符(等价于两个函数对象),Function与Object的数据类型都是function. 首先我们看下面的例子(typeof 表示数据类型,instanceof表示实例类型---用原型链查找): var a = function(){}; var b = {}; var c = 1; var d; var e = null; var f = false; var g = ""; console.

判断对象类型 typeof instanceof Object.prototype.tostring()

常见的有三种方法  1, typeof  2, instance of   3, object.prototype.toString.apply(); 1,typeof  typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于

JS查看Object对象的内容

以一个例子来说,下面是他的Object: JS: 如果想直接获取到total的值,那就先把获取到的Json先Eval(),然后json.total就能取到total的值了, 但是如果想取到rows里面的值呢,我们先得进去rows,那就应该是:json.rows,但是我们alert的时候发现,这个rows有三个参数,我们要取第一个的话,那就应该是json.rows[0],然后再取 里面的strUserName或者strUserPwd就应该是Json.rows[0].strUserName了. 假设

js instanceof (2)

instanceof运算符可以用来判断某个构造函数的prototype属性是否存在另外一个要检测对象的原型链上.实例一:普遍用法 A instanceof B :检测B.prototype是否存在于参数A的原型链上. 1 function Ben() { 2   3 } 4 var ben = new Ben(); 5 console.log(ben instanceof Ben);//true  实例二:继承中判断实例是否属于它的父类 1 function Ben_parent() {} 2

JS的Object类的属性、方法及如何创建对象

属性 constructor:对创建对象的函数的引用(指针).对于Object类,该指针指向原始的object()函数. prototype:对该对象的对象原型的引用.对于所有的类,它默认返回Object对象的一个实例. 方法 hasOwnProperty(property):判断对象是否有某个特定的属性.必须用字符串指定该属性(例如,o.hasOwnProperty(”name”)). isPrototypeOf(object):判断该对象是否为另一个对象的原型. propertyIsEnum