摘要:對象所有對象都繼承它,同時它還是一個構造函數。等等的應用第二個參數就是該對象的構造函數如果對象重寫了函數那就使用去搞,會發現大部分構造函數都重寫了方法
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]"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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,將會創建并返回一個空對象,否則,將返回一個...
閱讀 375·2023-04-25 16:38
閱讀 1492·2021-09-26 09:46
閱讀 3333·2021-09-08 09:35
閱讀 2785·2019-08-30 12:54
閱讀 3255·2019-08-29 17:06
閱讀 1023·2019-08-29 14:06
閱讀 3351·2019-08-29 13:00
閱讀 3471·2019-08-28 17:53