SOURCE

// var myobject={
// foo:"bar",
// func:function(){
// var self=this;
// console.log(this.foo);
// console.log(self.foo);

// (function(){
// console.log(this.foo);//undefined
// console.log(self.foo);//bar
// })();
// }
// };
// myobject.func();

// function User() {}
// User.prototype.sayHello = function() {}
// var u1 = new User();
// var u2 = new User();
// console.log(u1.sayHello === u2.sayHello);   // true
// console.log(User.prototype.constructor);    // function USer() {}
// console.log(User.prototype === Function.prototype);     // false
// console.log(User.__proto__ === Function.prototype);     // true
// console.log(User.__proto__ === Function.__proto__);     // true
// console.log(u1.__proto__ === u2.__proto__);             // true
// console.log(u1.__proto__ === User.__proto__);           // false
// console.log(Function.__proto__ === Object.__proto__);   // true
// console.log(Function.prototype.__proto__ === Object.prototype.__proto__);   // false 
// console.log(Function.prototype.__proto__ === Object.prototype);     // true

var F = function () {}
Object.prototype.a = function () {}
Function.prototype.b = function () {}

var f = new F();

console.log(f.a, f.b, F.a, F.b);

// 原型链
// f.__proto__ --> F.prototype --> Object.prototype
// F.__proto__ --> Function.prototype --> Object.prototype
console 命令行工具 X clear

                    
>
console