<!---------------------------------------------
1、演示匿名加载
2、js单进程执行流
3、原型链理解
a、__proto__:属性每个对象都有
b、prototype:类型本身
heidsoftg@gmail.com
---------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
// (function(){
// console.info(this);
// console.info(arguments);
// }(window));
// (function(){
// console.info(this);
// console.info(arguments);
// })(window);
//
console.log(window);
console.log("Step=========================================1");
(window);//传入参数
(function(a,b){
console.log("a="+a);
console.log("b="+b);
});
console.log("Step=========================================2");
(function(aObject,bObject){
console.log("aObject="+aObject);
console.log("bObject="+bObject);
})(window);
console.log("Step=========================================3");
(function(aWin,bUndefined){
console.log("aWin="+aWin);
console.log("bUndefined="+bUndefined);
})(window,undefined);
console.log("Step=========================================4");
(function(aWin,undefined){
undefined="fuck undefined....";
console.log("aWin="+aWin);
console.log("undefined="+undefined);
})(window);
console.log("Step=========================================5");
var testObject1={a:1,b:2};
console.log("Step=========================================6");
console.log(testObject1.__proto__);
console.log("Step=========================================7");
console.log(testObject1.__proto__);
testObject1.__proto__ = new Object({a:2,b:5});
console.log("Step=========================================8");
console.log(testObject1.prototype);
console.log("Step=========================================9");
console.log(testObject1);
testObject1.prototype= new Object({a:2,b:5});
console.log("Step=========================================10");
console.log(testObject1);
var Person = function(){};
Person.prototype.Say= function(){
alert("Person say");
};
Person.prototype.Salary=50000;
var Programmer = function(){};
Programmer.prototype=new Person();//var p1.__proto__=Person.prototype
Programmer.prototype.WriteCode = function(){
alert("programmer write code");
};
Programmer.prototype.Salary=500;
var p = new Programmer();
//p.__proto__=Programmer.prototype;
//Programmer.prototype.__proto__=Person.prototype;
//p.__proto__.__proto__=Person.prototype
p.Say();
p.WriteCode();
alert(p.Salary);
</script>
</head>
<body>
</body>
</html>