zoukankan      html  css  js  c++  java
  • JS学习之包装对象、hasOwnProperty、constructor

    包装对象:
    在JS内部,当我们去调用字符串、数字、布尔值这些基本数据类型的属性或者方法的时候,JS会在内部先把这些数据类型转成一个对应的对象类型(包装对象),然后再去调用包装对象身上的属性或者方法。

    var str="xbj";//这个过程等同var str=new String('xbj');,JS内部帮我们做了
    console.log(str.length); //3

    hasOwnProperty:判断一个属性是不是自己对象身上的
    语法:对象.hasOwnProperty(属性)
    返回:
    true 自身属性
    false 非自身属性
    注意:
    1、这个方法是Object身上的方法
    2、只会找自己对象身上是否具有要查找的属性

         function Person(name){
                this.name=name;
          }
         Person.prototype.country='china';//在原型身上添加一个属性
         var p=new Person('xubj'); // 实例化一个对象
         console.log(p.name);  // xubj
          console.log(p.country); // china
          console.log(p.hasOwnProperty('name')); // true
          console.log(p.hasOwnProperty('country')); // false
          // 因为country并不是对象p身上的,是Person构造函数原型身上的属性

    constructor:每个对象身上都会有该属性,默认指向该对象对应的构造函数,这个属性不是放在对象身上,放在对应的原型对象身上

    作用:查看对象的构造函数
    语法: 对象.constructor
    返回值: 对象的构造函数

       function Person(name){
                this.name=name;
          }
       Person.prototype.country='china';
       var p=new Person('xubj');
       console.log(p);  // xubj
          console.log(p.constructor);  //  返回值是Person这个构造函数
          console.log(p.constructor===Person); // true

  • 相关阅读:
    HeadFirst设计模式之RMI介绍
    HeadFirst设计模式之状态模式
    算法Sedgewick第四版-第1章基础-001递归
    HeadFirst设计模式之组合模式
    HeadFirst设计模式之迭代器模式
    HeadFirst设计模式之模板方法模式
    HeadFirst设计模式之适配器模式
    CentOS-6.5-saltstack-安装
    Swift
    在OC中调用Swift类中定义delegate出现:Property 'delegate' not found on object of type ...
  • 原文地址:https://www.cnblogs.com/xubj/p/9881966.html
Copyright © 2011-2022 走看看