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. vue引入外部.css文件,webpack将其与.vue中的样式混合打包了,怎么办?

    我使用vue-cli搭自己的博客,希望引入公共样式: // main.js import './assets/styles/common.css' 我本来是希望webpack打包后,能将这个样式独立打 ...

  2. /var/spool/clientmqueue目录~清理

    今天nagios报警,一台服务器的disk满了,使用du -sh * 或 du -sh /* 查看目录的大小,查找占用空间大的目录/var/spool/clientmqueue.... 然后我就想/v ...

  3. c#中string的一些基本用法

    .string的Split方法的使用 这个例子就是通过制定的符号来将词组分开,Splite(分割的字符,分割的份数) using System; using System.Collections; p ...

  4. [Luogu P2563]质数和分解

    题目链接 话不多说,这是一道质数题+完全背包.先预处理筛出质数,直接背包就行. #include<iostream> #include<cstdio> #include< ...

  5. Android 一个日历控件的实现代码

    转载  2017-05-19   作者:Othershe   我要评论 本篇文章主要介绍了Android 一个日历控件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看 ...

  6. maven打包忽略静态资源解决办法,dispatchServlet拦截静态资源请求的解决办法

    问题: maven 打包时,有的文件打不进去target 解决: 因为maven打包默认打Java文件.在项目中的pom文件中加build标签 <build> <resources& ...

  7. BtxCMS.Net 项目

    项目: 广告位:<script type="text/javascript" src="http://yg1.jmcdn.cn/file/script/A538.x ...

  8. vue 实现子向父传值

    父组件 <template> <div id="app"> <child @onChange='onChildValue'></child ...

  9. Luogu4113 [HEOI2012]采花

    题目大意:给定一个长度为$n$的序列$a_i$,$m$次询问,每次询问$[l,r]$,求在区间内有多少个数出现了至少2次. 数据范围:$1\leq l\leq r\leq n\leq 2*10^6,1 ...

  10. RN如何基于js代码手动打一个main.jsbundle

    react-native bundle --entry-file index.js --bundle-output ./ios/bundle/main.jsbundle --platform ios ...