function
person
(name, age)
var p =
newperson
('人',20
);console.
log(p.gender)
;//物件取值 不存在返回undefined
// p.say();//undefined沒有方法 所以報錯
console.
log(p)
; console.
log(p.
tostring()
);//[object object]
//p中沒有tostring方法 原型中也沒有 但是原型的原型中有tostring方法 所以不會報錯
console.
log(p.constructor)
;//person建構函式
;//日期物件不能用log 會自動轉成tostring字串
//檢視物件記憶體空間 用dir
console.
dir(date)
console.
log(date.constructor)
;//date建構函式
];//底層用了new array()建構函式
// var arr = new array([10,20,30]);
console.
log(arr)
console.
log(arr.constructor)
;//array建構函式
;//底層用了基本包裝型別new string()建構函式
// var str = new string('123');
console.
log(str)
console.
log(str.constructor)
;//string建構函式
'函式動態新增屬性'
// 下面不報錯說明函式也是物件型別 是特殊的物件
fn.say();
console.
log(fn.show)
; console.
log(fn)
;//列印函式中儲存的**
console.
dir(fn)
;//列印函式物件中儲存的屬性
console.
log(fn.__proto__.constructor)
;//function建構函式
//得出函式都是由function建構函式建立的
console.
log(object.__proto__.constructor)
;//function建構函式
console.
log(array.__proto__.constructor)
;//function建構函式
console.
log(fn.__proto__ === function.prototype)
;//true
console.
log(fn.__proto__.__proto__.constructor)
;//object
console.
log(fn.__proto__.__proto__ === object.prototype)
;// true
console.
log(fn.__proto__.__proto__.__proto__)
;//null
//函式的兩種宣告方式
//1.函式宣告
function
fn(a, b)
//2.表示式宣告
varfn1
=function
(a, b)
//函式的底層都是new function
//function建構函式
//前面所有引數都是函式的形參 最後乙個引數是函式體**
//引數都是字串
var fn2 =
newfunction
('a'
,'b'
,'return a+b');
var res =
fn2(10,
20); console.
log(res)
;//所以js所有建構函式物件 都是function建構函式生成的
筆記 js內建物件及自定義物件
內建物件 string math date array event string str.length str.charat 5 str.indexof 找不到返回 1 str.tolowercase str.touppercase str.substring 3,6 str.replace mat...
物件陣列。自定義物件
定義學生類屬性 自定義方法 顯示學生資訊方法年齡增加方法測試類 建立用於儲存學生的陣列,長度為5,建立5個學生物件,將物件儲存到陣列中遍歷陣列中的學生物件,分別呼叫年齡增加方法,將學生年齡增加2遍歷陣列中的學生物件,分別呼叫顯示資訊的方法,檢視所有學生資訊查詢年齡大於20的學生資訊 針對這個作業。寫...
關於物件的以及原型鏈
一 獨一無二型別symbol symbol作為一種獨一無二型別的物件,其本質是物件中的 鍵 運用領域及我們以後所需要用的地方較少,主要是在團隊開發中運用的比較多。且symbol在使用中不能使用運算子,也不能便利迴圈。二 物件的合併 在字串的合併中,我們常使用的是 號作為乙個拼接符來使用的,後來通過深...