Object.prototype的成员介绍

3.Object.prototype的成员介绍

Object.prototype是js中所有的对象的祖宗

Object.prototype中所有的成员都可以被js中所有的对象使用!

3.1. 方法: hasOwnProperty

语法: 对象.hasOwnProperty("属性名")

功能: 判断当前对象自身是否拥有指定的属性!

// var obj = {

//     name: "胡聪聪"

// };

// console.log("toString" in obj);//ture (in判断的是当前对象能否访问.toString方法)

// console.log(obj.hasOwnProperty("toString"));//false  ( 判断当前对象自身是否拥有指定的属性)

3.2. 方法: isPrototypeOf

语法: 对象.isPrototypeOf(另一个对象)

功能: 判断当前对象是否是另外一个对象的原型

// var obj = {

//     name: "王思聪"

// }

// var obj1 = {

//     name: "王健林"

// }

// obj.__proto__ = obj1;

// console.log(obj1.isPrototypeOf(obj));//true

3.3 .方法: propertyIsEnumerable

// 语法: 对象.propertyIsEnumerable("属性名")

// 功能: 首先判断属性是否属于对象本身,再判断这个属性能否被(for-in)遍历,同时满足这两个条件,才会返回true

//对象的属性能否被(for in)遍历,可以设置的!

//怎么设置

//Object.defineProperty

// var obj = {

//     name: "123"

// }

// var obj1 = {

//     money: 99999

// }

// var obj2 = {

//     house: "大别墅"

// }

// obj.__proto__ = obj1;

// obj1.__proto__ = obj2;

// for(var k in obj){

//     console.log(k);//name   money   house

// }

// console.log(obj.propertyIsEnumerable("name"));//true

// console.log(obj.propertyIsEnumerable("money"));//false

3.4. toString和toLocaleString都是将对象转换成字符串

//toLocaleString是将对象转换成本地格式的字符串(时间字符串)

// var obj = new Date();

// console.log(obj.toLocaleString());  //2017-8-2 19:30:32

// console.log(obj.toString());  //Wed Aug 02 2017 19:30:32 GMT+0800 (中国标准时间)

//Object.prototype.toString.call(对象)  对象自身有.toString属性,Object原型也有,这个方法可以直接用Object原型的方法

var obj = new Date();

console.log(obj.toString());//Wed Aug 02 2017 19:35:23 GMT+0800 (中国标准时间)

console.log(Object.prototype.toString.call(obj));//[object Date]

var arr = [];

console.log(arr.toString());//""

console.log(Object.prototype.toString.call(arr));//[object Array]    object==>  typeof arr    Array==> 构造函数

console.log(obj.constructor.toString());  //function Date() { [native code] }

3.5. valueOf

{}.valueOf()  //{}

[].valueOf()  //()

//获取对象的值

//当引用类和值类型数据运算的时候,会先调用valueOf方法,尝试使用返回值运算,如果不能运算,就继续调用toString方法获取返回值运算!

// var obj = {

//     valueOf: function () {

//         return 1

//     }

// };

// console.log(obj + 1);//2

原文地址:https://www.cnblogs.com/pavilion-y/p/8136835.html

时间: 2024-10-11 21:39:00

Object.prototype的成员介绍的相关文章

Js中Prototype、__proto__、Constructor、Object、Function关系介绍

Js中Prototype.__proto__.Constructor.Object.Function关系介绍 一    Prototype.__proto__与Object.Function关系介绍        Function.Object:Js自带的函数对象. prototype,每一个函数对象都有一个显示的prototype属性,它代表了对象的原型(Function.prototype函数对象是个例外,没有prototype属性). __proto__:每个对象都有一个名为__proto

Js中Prototype、__proto__、Constructor、Object、Function关系介绍 ,JS原型

此文来自:http://www.blogjava.net/heavensay/archive/2013/10/20/405440.html Js中Prototype.__proto__.Constructor.Object.Function关系介绍 一    Prototype.__proto__与Object.Function关系介绍        Function.Object:Js自带的函数对象. prototype,每一个函数对象都有一个显示的prototype属性,它代表了对象的原型(

JavaScript中Object.prototype.toString方法的原理

在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. ? 1 2 var arr = []; console.log(Object.prototype.toString.call(arr)) //"[object Array]" 本文要讲的就是,toString方法是如何做到这一点的,原理是什么. ECMAScript 3 在ES3中,Object.prototype.toString方法的规范如下:

Object.prototype和Function.prototype一些常用方法

Object.prototype 方法: hasOwnProperty 概念:用来判断一个对象中的某一个属性是否是自己提供的(主要是判断属性是原型继承还是自己提供的) 语法:对象.hasOwnProperty('属性名') var o = { name: 'jim' }; function Person() { this.age = 19; this.address='北京'; this.work='上海'; } Person.prototype = o; var p = new Person(

Object.prototype 与 Function.prototype 与 instanceof 运算符

方法: hasOwnProperty isPrototypeOf propertyIsEnumerable hasOwnProperty 该方法用来判断一个对象中的某一个属性是否是自己提供的( 住要用在判断属性是原型继承的还是自己提供的 ) 语法: 对象.hasOwnProperty( '属性名' ) -> boolean isPrototypeOf 凡是看到 of 翻译成 的, 反过来翻译: prototype of obj, 翻译成 obj 的 原型 因此该方法的含义是: xxx 是 xxx

JavaScript:Object.prototype.toString方法的原理

在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Object.prototype.toString.call(arr)) //"[object Array]" 本文要讲的就是,toString方法是如何做到这一点的,原理是什么. ECMAScript 3 在ES3中,Object.prototype.toString方法的规范如下: 15.2.

Object.prototype.__proto__ 、Object.prototype和 Object.prototype.constructor

Object.prototype.__proto__: 实体对象指向造它的构造函数的 prototype属性所指 的对象 ,实例的__proto__是引用构造函数的prototype属性所指对象, Object.prototype : js规定,构造函数有prototype 属性,指向一个对象,这个对象一般就是构造函数的公有成员. 所以 __proto__  和 prototype 可以指向同一个对象  {key1:value1,key2:value2,......},构造函数的私有和特权函数会

JavaScript类型判断详解(Object.prototype.toString.call()方法进行数据类型的可靠判断)

前言 在编写一些类库中,我们经常需要判断一些未知的用户的输入和配置,故而需要进行一系列的类型判断.故而总结下JS是如何进行类型判断的 typeof typeof操作符返回一个字符串,表示未经计算的操作数的类型:该运算符数据类型(返回字符串,对应列表如图) typeof undefined = undefined typeof Null = object typeof Boolean = boolean typeof Number = number typeof String = string t

利用Object.prototype.toString.call(obj)判断数据类型

1.typeof判断数据类型 typeof可以用来判断基本数据类型,对于Array.Error.RegExp.Number.Function只能判断为object 2.使用Object.prototype.toString.call(obj)判断数据类型 var a=new Number(12); var toString=Object.prototype.toString; console.log(toString.call(a));//[object Number] console.log(