2017.1.22開始讀,2017.2.7讀完
共57頁
第一章:一切都是對象
~~~
function show(x) {
console.log(typeof(x)); // undefined
console.log(typeof(10)); // number
console.log(typeof('abc')); // string
console.log(typeof(true)); // boolean
console.log(typeof(function () { })); //function
console.log(typeof([1, 'a', true])); //object
console.log(typeof ({ a: 10, b: 20 })); //object
console.log(typeof (null)); //object
console.log(typeof (new Number(10))); //object } show();
~~~
第二章:函數和對象的關系
~~~
//var obj = { a: 10, b: 20 }; //var arr = [5, 'x', true];
var obj = new Object();
obj.a = 10;
obj.b = 20;
var arr = new Array();
arr[0] = 5;
arr[1] = 'x';
arr[2] = true;
~~~
對象是函數創建的,而函數卻又是一種對象
第三章:prototype原型
~~~
function Fn() { } Fn.prototype.name = '王福朋';
Fn.prototype.getYear = function () {
return 1988; };
var fn = new Fn();
console.log(fn.name);
console.log(fn.getYear());
~~~
即,Fn是一個函數,fn對象是從Fn函數new出來的,這樣fn對象就可以調用Fn.prototype中的屬性。
因為每個對象都有一個隱藏的屬性——“proto proto”,這個屬性引用了創建這個對象的函數的prototype。 即:fn.proto proto === Fn.prototype
第四章:隱式原型
每個函數function都有一個prototype,即原型。這里再加一句話——每個對象都有一 個proto proto,可成為隱式原型