摘要:对象所有对象都继承它,同时它还是一个构造函数。等等的应用第二个参数就是该对象的构造函数如果对象重写了函数那就使用去搞,会发现大部分构造函数都重写了方法
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 // true7. 如果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) // false8. 静态方法:
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 本身是一个函数,用来将任意值转为对象。 如果参数为空(或者为 undefined 和 null),Object() 返回一个空对象。 var obj = Ob...
摘要:控制对象状态的方法防止对象扩展。判断一个对象是否被冻结。返回当前对象对应的值。方法的作用是返回一个对象的字符串形式上面代码表示,对于一个对象调用方法,会返回字符串用途通过自定义方法,可以让对象在自动类型转换时,得到想要的字符串形式。 概述Object()Object 构造函数Object 的静态方法「本身的方法Object.keys(),Object.getOwnPropertyNam...
摘要:一对象初始化创建对象的两种方法对象初始化器或对象字面量参数成对的名称字符串与值任何值,其中名称通过冒号与值分隔之后简化了字面量写法写法以构造函数形式来调用参数任何值访问对象属性对象属性可以用下标小圆点标记或者方括号标记访问从开始,对象初始化 一、对象初始化 创建对象的两种方法: 1.对象初始化器或对象字面量:{[nameValuePair1[, nameValuePair2[, ......
摘要:需要链接标准参考教程对象阮一峰标准构造器函数可能是最重要的对象之一,尽管我们从来不会直接调用它。该方法返回被冻结的对象。 Object 需要链接: MDN —— Object JavaScript标准参考教程(Object对象)——阮一峰 标准构造器函数Object可能是JavaScript最重要的对象之一,尽管我们从来不会直接调用它。每当使用一个对象直接量时,都会隐式调用它: ...
摘要:当以非构造函数形式被调用时,等同于。因此只有字符串会以数组形式,拷贝入目标对象,其他值即数值字符串和布尔值都不会产生效果。注意,布尔值数值字符串分别转成对应的包装对象时,它们的原始值都在包装对象的内部属性上面。拥有布尔值的字段的默认值都是。 Object Object构造函数创建一个对象包装器。如果给定值是 null or undefined,将会创建并返回一个空对象,否则,将返回一个...
阅读 356·2023-04-25 16:38
阅读 1455·2021-09-26 09:46
阅读 3306·2021-09-08 09:35
阅读 2762·2019-08-30 12:54
阅读 3224·2019-08-29 17:06
阅读 966·2019-08-29 14:06
阅读 3322·2019-08-29 13:00
阅读 3433·2019-08-28 17:53