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

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

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

    一. Prototype.__proto__与Object.Function关系介绍 Function.Object:都是Js自带的函数对象.prototype,每一个函数对象都有一个显式的proto ...

  2. 【转】Js中Prototype、__proto__、Constructor、Object、Function关系介绍

    一    Prototype.__proto__与Object.Function关系介绍        Function.Object:Js自带的函数对象.         prototype,每一个 ...

  3. JS高级——Object.prototype成员

    基本概念 成员 描述 Object.prototype.__proto__ 指向当对象被实例化的时候,用作原型的对象. Object.prototype.hasOwnProperty() 返回一个布尔 ...

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

    Object.prototype 方法: hasOwnProperty 概念:用来判断一个对象中的某一个属性是否是自己提供的(主要是判断属性是原型继承还是自己提供的) 语法:对象.hasOwnProp ...

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

    方法: hasOwnProperty isPrototypeOf propertyIsEnumerable hasOwnProperty 该方法用来判断一个对象中的某一个属性是否是自己提供的( 住要用 ...

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

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Obje ...

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

    前言 在编写一些类库中,我们经常需要判断一些未知的用户的输入和配置,故而需要进行一系列的类型判断.故而总结下JS是如何进行类型判断的 typeof typeof操作符返回一个字符串,表示未经计算的操作 ...

  8. JavaScript:Object.prototype.toString进行数据类型判定

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Obje ...

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

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. ? 1 2 var arr = []; console.lo ...

随机推荐

  1. Web应用程序架构的比较

    架构 技术优势 技术挑战 团队优势 团队挑战 单体 低延时 开发简单 没有重复的模型/验证 伸缩 由于代码库过大引起的复杂度 特性内沟通的开销低 失败的恐惧 特性间沟通的开销大 前端+后端 能够单独扩 ...

  2. python dgango简介 安装 多表查询

    一.socket服务器 import socket sk=socket.socket() sk.bind(("127.0.0.1",8890)) sk.listen() while ...

  3. linux svn权限

    svnserve -d -r /opt/svn                      //启动 创建仓库 svnadmin create /u02/svn/davesvn              ...

  4. 转载--python模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  5. Mysql5.8解压版安装问题:TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS

    问题描述: cmd显示如下: .err文件显示: [ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe shoul ...

  6. luogu4643 [国家集训队]阿狸和桃子的游戏

    题目链接:洛谷 这道题乍一看非常的难,而且题目标题上的标签让人很害怕. 但其实这道题并不难写(只要想到了...emm) 因为我们只需要知道两个人得分之差,所以我们可以对条件进行变换. 我们将边权平分到 ...

  7. python基础之 time,datetime,collections

    1.time模块 python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00 ...

  8. 1、Linux的安装及基本配置

    1.安装 2.登录后开启root用户 https://www.cnblogs.com/suhfj-825/p/8611436.html https://www.cnblogs.com/suhfj-82 ...

  9. 兼容不同浏览器的CSS前缀-webkit-,-ms-,-moz-,-o-

    笔者在工作实践中发现当需要CSS兼容不同的浏览器时,需要在CSS样式前加上不同的前缀,从而使其他浏览器也能够达到相同的页面效果. 那么我们怎么去加上这些前缀呢?我们一起带着疑问来进行学习: 1.前缀分 ...

  10. Javascript动态生成的页面信息爬取和openpyxl包FAQ小记

    最近,笔者在使用Requests模拟浏览器发送Post请求时,发现程序返回的html与浏览器F12观察到的略有不同,经过观察返回的response.text,cookies确认有效,因为我们可以看到返 ...