Javascript——Object类型

前言

在平时工做中,咱们看到的引用类型大多数是Object类型的实例。javascript


什么是Object类型?

以下所示:java

var o = new Object();
复制代码

Object类型是一种数据类型,是全部它的实例的基础。通俗的讲,它就是一个对象,有不少基本的属性供使用它的实例使用,而且能够添加新的属性。函数

object的实例有哪些共有的属性呢?测试

  • 构造函数(constructor),它保存着用于建立当前对象的函数。
  • hasOwnProperty(propertyName),用于检测给定的属性在不在当前的实例中(不是原型中)。
  • isPrototypeOf,用于检测对象是不是当前对象的原型。
  • propertyIsEnumerable(propertyName),用于检测给定的属性是否可以使用for-in语句来枚举。
  • toLocaleString,返回对象的字符串表示。
  • toString,返回对象的字符串表示。
  • valueOf,返回对象的字符串、数值、布尔值。

如何建立Object类型?

  1. 使用new操做符与Object构造函数:
var person1 = new Object();
    person1.name = '对象1';
    person1.age = 18
复制代码

  1. 对象字面量表示法
var person2 = {
        name: '对象2',
        age: 18
    };
复制代码

  第一种方法使用new操做符和Object构造函数建立了Object引用类型的一个新实例,而后把该实例保存在了变量person1中。
  第二种方法则是用一种简写的方式,一般使用对象字面量表示法比较频繁,由于它会给人封装数据的感受,同时它也是向函数传递大量可选参数的首选方式。ui

实际上:spa

var person2 = {}; // 与new Object()相同
复制代码

函数传参:code

function test(args) {
        var result = '';
        if (typeof args.name === 'string') {
            result += 'Name:' + args.name + '\n';
        }
        if (typeof args.age === 'number') {
            result += 'Age:' + args.age + '\n';
        }
        console.log(result);
    }
    
    test({
        name: '测试1',
        age: 18
    });
    
    test({
        name: '测试2'
    });
复制代码

Object对象属性访问方式

var o = {
        name: '测试',
        age: 18
    };
    console.log(o.name);
    console.log(o['name']);
    
    var key = 'name';
    console.log(o[key]);
复制代码

访问对象的属性通常是用点表示法比较多,同时也可使用方括号表示法来访问,记住方括号里面的属性名要以字符串放入就行。一般不是必须使用变量来访问的属性,通常推荐用点表示法来访问。对象


Object类型检测方法

var o = new Object();
    console.log(o instanceof Object)
复制代码

instanceof关键字,能够检测出该对象是不是Object类型。有人会问typeof不是也能够吗?是的,确实也能够检测出来,可是typeof nulltypeof [] 获得的也是object,因此是不建议这么使用的,由于它不够精准啊大兄弟。ip

相关文章
相关标签/搜索