zoukankan      html  css  js  c++  java
  • js面向对象的一些属性、方法

    首先了解一下原型链:

    原型链 : 实例对象与原型之间的连接,叫做原型链

    原型链的最外层 : Object.prototype

    1.hasOwnProperty : 看是不是对象自身下面的属性.用法如下:

    var arr = [];
    arr.num = 10;
    Array.prototype.num1 = 20;

    //alert( arr.hasOwnProperty('num') ); //true

    alert( arr.hasOwnProperty('num1') ); //false

    2.constructor : 查看对象的构造函数,用法如下:


    function Aaa(){
    }

    var a1 = new Aaa();

    alert( a1.constructor ); //Aaa

    var arr = [];
    alert( arr.constructor == Array ); //true

    当写了function Aaa(){

    }这个构造函数是,会自动生成Aaa.prototype.constructor = Aaa;所以construcor是每一个函数都有的。

    二hasOwnProperty则是通过原型链在Object.prototype下面找到的

    var a1 = new Aaa();
    alert( a1.hasOwnProperty == Object.prototype.hasOwnProperty ); //true*/

    3.instanceof : 对象与构造函数在原型链上是否有关系,用法如下:

    function Aaa(){
    }

    var a1 = new Aaa();

    //alert( a1 instanceof Object ); //true


    var arr = [];

    alert( arr instanceof Array );

    4.toString() : 吧对象转换成字符串,系统对象下面都是自带的 , 自己写的对象都是通过原型链找object下面的,所以

    var arr = [];
    alert( arr.toString == Object.prototype.toString ); //false

    function Aaa(){
    }
    var a1 = new Aaa();
    alert( a1.toString == Object.prototype.toString ); //true

     利用toString判断一个对象是不是数组 :

    var arr = [];

    alert( Object.prototype.toString.call(arr) == '[object Array]' );

  • 相关阅读:
    看到一个很好看的细细的字体
    meta标签常用属性整理
    网页字体排印指南
    利用伪元素仿苹果手机官网导航
    利用css3-animation来制作逐帧动画
    CSS实现垂直居中的5种方法
    前端网站
    icon font
    flexbox布局总结
    Yahoo(YUI) CSS Reset:
  • 原文地址:https://www.cnblogs.com/toodeep/p/4472664.html
Copyright © 2011-2022 走看看