资讯专栏INFORMATION COLUMN

Object对象

chaosx110 / 768人阅读

摘要:对象所有对象都继承它,同时它还是一个构造函数。等等的应用第二个参数就是该对象的构造函数如果对象重写了函数那就使用去搞,会发现大部分构造函数都重写了方法

1. Object对象:

所有对象都继承它,同时它还是一个构造函数。

2. 构造函数:

所有构造函数都有一个prototype属性,指向原型对象。凡是定义在Object.prototype对象上面的属性和方法,将被所有实例对象共享。

3. 原型对象: 4. 构造函数的方法:
Object.print1 = (o)=>{console.log(o);}
const o = new Object({a:1});
Object.print1(o);// {a:1}
5. 实例对象的方法:
Object.prototype.print2 = ()=>{// 这里使用了箭头函数,使得this指向了window
  console.log(this);
}
Object.prototype.print3 = function(){// 实例对象继承原型的所有属性和方法
  console.log(this);
}
const o = new Object({a:1});
o.print2();// {}
o.print3();// {a:1}
6. 原始类型和包装对象:三个包装对象Number,String,Boolean
Object() // 返回一个空对象
Object() instanceof Object // true

Object(undefined) // 返回一个空对象
Object(undefined) instanceof Object // true

Object(null) // 返回一个空对象
Object(null) instanceof Object // true

Object(1) // 等同于 new Number(1)
Object(1) instanceof Object // true
Object(1) instanceof Number // true

Object("foo") // 等同于 new String("foo")
Object("foo") instanceof Object // true
Object("foo") instanceof String // true

Object(true) // 等同于 new Boolean(true)
Object(true) instanceof Object // true
Object(true) instanceof Boolean // true
7. 如果Object构造函数的参数是一个对象,它总返回原对象
var arr = [];
Object(arr) // 返回原数组
Object(arr) === arr // true

var obj = {};
Object(obj) // 返回原对象
Object(obj) === obj // true

var fn = function () {};
Object(fn) // 返回原函数
Object(fn) === fn // true

利用它可以判断变量是否为对象

function isObject(value) {
  return value === Object(value);
}

isObject([]) // true
isObject(true) // false
8. 静态方法:

Object本身的方法,前面说的构造函数的方法,就是静态方法。此外还有好多,如Object.keys()等。

9. 实例方法:Object.protoType上的方法。如
valueOf():返回当前对象对应的值。
toString():返回当前对象对应的字符串形式。
等等
10. toString的应用:
const a = {a:1};
console.log(a.toString());//[object Object] 第二个参数就是该对象的构造函数

如果a对象重写了toString函数

const a = {
    a: 1,
    toString: function() {
        return this;
    }
};
console.log(a.toString());// { a: 1, toString: [Function: toString] }

那就使用Object.protoType.toString去搞,会发现大部分构造函数都重写了toString方法

const a = {
    a: 1,
    toString: function() {
        return this;
    }
};
console.log(1,a.toString());// 1 { a: 1, toString: [Function: toString] }
console.log(2,Object.prototype.toString.call(a));// 2 "[object Object]"

const b = "bbb";
console.log(3,b.toString());// 3 "bbb"
console.log(4,Object.prototype.toString.call(b));// 4 "[object String]"

const c = 23;
console.log(5,c.toString());// 5 "23"
console.log(6,Object.prototype.toString.call(c));// 6 "[object Number]"

const d = [];
console.log(7,d.toString());// 7 ""
console.log(8,Object.prototype.toString.call(d));// 8 "[object Array]"

const e = () => { a: 1 };
console.log(9,e.toString());// 9 "() => { a: 1 }"
console.log(10,Object.prototype.toString.call(e));// 10 "[object Function]"

const f = true;
console.log(11,f.toString());// 11 "true"
console.log(12,Object.prototype.toString.call(f));// 12 "[object Boolean]"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84885.html

相关文章

  • Object 的各种方法

    摘要:等同于构造函数与的用法很相似,几乎一模一样。实例对象的方法接受一个字符串作为参数,返回一个布尔值,表示该实例对象自身是否具有该属性。等同于方法生成的对象,继承了它的原型对象的构造函数。 分类 Object() 函数 Object 本身是一个函数,用来将任意值转为对象。 如果参数为空(或者为 undefined 和 null),Object() 返回一个空对象。 var obj = Ob...

    gghyoo 评论0 收藏0
  • 标准库(一)object对象

    摘要:控制对象状态的方法防止对象扩展。判断一个对象是否被冻结。返回当前对象对应的值。方法的作用是返回一个对象的字符串形式上面代码表示,对于一个对象调用方法,会返回字符串用途通过自定义方法,可以让对象在自动类型转换时,得到想要的字符串形式。 概述Object()Object 构造函数Object 的静态方法「本身的方法Object.keys(),Object.getOwnPropertyNam...

    Muninn 评论0 收藏0
  • Object对象

    摘要:前言原生提供对象的所有其他对象都继承自对象,即这些对象都是的实例对象的原生方法分为两类本身的方法的实例方法对象本身的方法直接定义在对象的方法方法就是直接定义在对象上的实例方法定义在原型对象上的方法,可以被实例直接使用定义了一个方法,然后生成 前言 JavaScript原生提供Object对象 JavaScript的所有其他对象都继承自Object对象,即这些对象都是Object的实例...

    Joyven 评论0 收藏0
  • JavaScript引用类型---Object

    摘要:一对象初始化创建对象的两种方法对象初始化器或对象字面量参数成对的名称字符串与值任何值,其中名称通过冒号与值分隔之后简化了字面量写法写法以构造函数形式来调用参数任何值访问对象属性对象属性可以用下标小圆点标记或者方括号标记访问从开始,对象初始化 一、对象初始化 创建对象的两种方法: 1.对象初始化器或对象字面量:{[nameValuePair1[, nameValuePair2[, ......

    RobinTang 评论0 收藏0
  • 《JavaScript程序设计》—— 标准对象 Object

    摘要:需要链接标准参考教程对象阮一峰标准构造器函数可能是最重要的对象之一,尽管我们从来不会直接调用它。该方法返回被冻结的对象。 Object 需要链接: MDN —— Object JavaScript标准参考教程(Object对象)——阮一峰 标准构造器函数Object可能是JavaScript最重要的对象之一,尽管我们从来不会直接调用它。每当使用一个对象直接量时,都会隐式调用它: ...

    Meils 评论0 收藏0
  • JavaScript之Object

    摘要:当以非构造函数形式被调用时,等同于。因此只有字符串会以数组形式,拷贝入目标对象,其他值即数值字符串和布尔值都不会产生效果。注意,布尔值数值字符串分别转成对应的包装对象时,它们的原始值都在包装对象的内部属性上面。拥有布尔值的字段的默认值都是。 Object Object构造函数创建一个对象包装器。如果给定值是 null or undefined,将会创建并返回一个空对象,否则,将返回一个...

    高胜山 评论0 收藏0

发表评论

0条评论

chaosx110

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<