object.getPrototypeOf函数(javascript)

返回对象的原型。

语法

Object.getPrototypeOf(object)

参数

object

  必需。引用原型的对象。

返回值

  object 参数的原型。原型也是对象。

异常

  如果 object 参数不是对象,则将引发 TypeError 异常。

function Pasta(grain, width) {
    this.grain = grain;
    this.width = width;
}

var spaghetti = new Pasta("wheat", 0.2);

var proto = Object.getPrototypeOf(spaghetti);

proto.foodgroup = "carbohydrates";
console.log(spaghetti.foodgroup + " "); //carbohydrates 

var result = (proto === Pasta.prototype);
console.log(result + " "); //true

var result = proto.isPrototypeOf(spaghetti);
console.log(result); //true

下面的示例使用 Object.getPrototypeOf 函数来验证数据类型。

var reg = /a/;
var result = (Object.getPrototypeOf(reg) === RegExp.prototype);
document.write(result + " "); //true

var err = new Error("an error");
var result = (Object.getPrototypeOf(err) === Error.prototype);
document.write(result);  //true

原文地址:https://www.cnblogs.com/haonanya/p/9057396.html

时间: 2024-11-05 22:08:06

object.getPrototypeOf函数(javascript)的相关文章

[Effective JavaScript 笔记]第31条:使用Object.getPrototypeOf函数而不要使用__proto__属性

ES5引入Object.getPrototypeOf函数作为获取对象原型的标准API,但由于之前的很多js引擎使用了一个特殊的__proto__属性来达到相同的目的.但有些浏览器并不支持这个__proto__属性,所以并不是完全兼容的.例如对于拥有null原型的对象,不同的环境结果就不同了. var empty=Object.create(null); '__proto__' in empty;//一些环境会返回false,另一些会返回true 这就导致结果的不一致,从而影响到依赖这个判断的相关

Object.defineProperty 函数 (JavaScript)

将属性添加到对象,或修改现有属性的特性. 语法 Object.defineProperty(object, propertyname, descriptor) 参数 object 必需.  要在其上添加或修改属性的对象.  这可能是一个本机 JavaScript 对象(即用户定义的对象或内置对象)或 DOM 对象. propertyname 必需.  一个包含属性名称的字符串. descriptor 必需.  属性描述符.  它可以针对数据属性或访问器属性. 返回值 已修改对象. 备注 可使用 

Object.keys 函数 (JavaScript)

Object.keys 函数 (JavaScript) 返回对象的可枚举属性和方法的名称. 在实际开发中,我们有时需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组 传入对象,返回属性名 var obj = {'a':'123','b':'345'}; console.log(Object.keys(obj)); //['a','b'] var obj1 = { 100: "a", 2: "b", 7: &qu

Object.create函数

语法 Object.create(prototype, descriptors) 参数 prototype 必需.  要用作原型的对象.  可以为 null. descriptors 可选.  包含一个或多个属性描述符的 JavaScript 对象. "数据属性"是可获取且可设置值的属性.  数据属性描述符包含 value 特性,以及 writable.enumerable 和 configurable 特性.  如果未指定最后三个特性,则它们默认为 false.  只要检索或设置该值

Effective JavaScript Item 31 优先使用Object.getPrototypeOf,而不是__proto__

本系列作为Effective JavaScript的读书笔记. 在ES5中引入了Object.getPrototypeOf作为获取对象原型对象的标准API.可是在非常多运行环境中.也提供了一个特殊的__proto__属性来达到相同的目的. 由于并非全部的环境都提供了这个__proto__属性,且每一个环境的实现方式各不同样,因此一些结果可能不一致: // 在某些环境中 var empty = Object.create(null); // object with no prototype "__

instanceof,Object.getPrototypeOf(),Object.create(),Object.setPrototypeOf(),Object.prototype.isPrototypeOf(),Object.prototype.__proto__

一.instanceof instanceof运算符返回一个布尔值,表示指定对象是否为某个构造函数的实例 var v = new Vehicle(); v instanceof Vehicle // true instanceof对整个原型链上的对象都有效,因此同一个实例对象,可能会对多个构造函数都返回true var d = new Date(); d instanceof Date // true d instanceof Object // true 利用instanceof运算符,还可以

C#中system.object的函数方法功能介绍-转载

C#中system.object的函数方法功能介绍 在C#中,Object类型是所有类型的根,大家平常开发中都要跟它打交道,但不见得对它里面的每个方法都知根知底,下面对它里面的每个方法都进行仔细的总结. 概述: 构造函数 Equals函数 Finalize函数 GetHashCode函数 GetType()函数 ReferenceEquals函数 MemberWiseClone()函数 ToString()函数 Object类型中一共有8个方法,重载的方法没有算进来.下面一一来看看这些方法. 1

JSON.stringify 函数 (JavaScript)

将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. JSON.stringify(value [, replacer] [, space]) 使用 JSON.stringify 将 contact 对象转换为 JSON 文本. 定义 memberfilter 数组以便只转换surname 和 phone 成员. 省略 firstname 成员. var contact = new Object(); contact.firstname = "Jesper

理解Object.defineProperty函数中的get与set

defineProperty是什么: 该函数可以直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象.通俗理解就是: 给对象添加一个新的属性,或者针对对象里的某些属性,可以给这个属性设置一些特性,比如是否只读,是否可以被for..in或Object.keys()遍历等 语法: Object.defineProperty(obj, prop, descriptor) 例如: var obj = {}; Object.defineProperty(obj, "key"