1. <!---------------------------------------------
  2. 1、演示匿名加载
  3. 2、js单进程执行流
  4. 3、原型链理解
  5. a、__proto__:属性每个对象都有
  6. b、prototype:类型本身
  7. heidsoftg@gmail.com
  8. ---------------------------------------------->
  9. <!DOCTYPE html>
  10. <html lang="en">
  11. <head>
  12. <meta charset="UTF-8">
  13. <title>Document</title>
  14. <script type="text/javascript">
  15. // (function(){
  16. // console.info(this);
  17. // console.info(arguments);
  18. // }(window));
  19.  
  20. // (function(){
  21. // console.info(this);
  22. // console.info(arguments);
  23. // })(window);
  24. //
  25. console.log(window);
  26. console.log("Step=========================================1");
  27. (window);//传入参数
  28. (function(a,b){
  29. console.log("a="+a);
  30. console.log("b="+b);
  31. });
  32. console.log("Step=========================================2");
  33. (function(aObject,bObject){
  34. console.log("aObject="+aObject);
  35. console.log("bObject="+bObject);
  36. })(window);
  37.  
  38. console.log("Step=========================================3");
  39. (function(aWin,bUndefined){
  40. console.log("aWin="+aWin);
  41. console.log("bUndefined="+bUndefined);
  42. })(window,undefined);
  43. console.log("Step=========================================4");
  44. (function(aWin,undefined){
  45. undefined="fuck undefined....";
  46. console.log("aWin="+aWin);
  47. console.log("undefined="+undefined);
  48. })(window);
  49.  
  50. console.log("Step=========================================5");
  51. var testObject1={a:1,b:2};
  52. console.log("Step=========================================6");
  53. console.log(testObject1.__proto__);
  54. console.log("Step=========================================7");
  55. console.log(testObject1.__proto__);
  56. testObject1.__proto__ = new Object({a:2,b:5});
  57. console.log("Step=========================================8");
  58. console.log(testObject1.prototype);
  59. console.log("Step=========================================9");
  60. console.log(testObject1);
  61. testObject1.prototype= new Object({a:2,b:5});
  62. console.log("Step=========================================10");
  63. console.log(testObject1);
  64.  
  65. var Person = function(){};
  66.  
  67. Person.prototype.Say= function(){
  68. alert("Person say");
  69. };
  70.  
  71. Person.prototype.Salary=50000;
  72. var Programmer = function(){};
  73. Programmer.prototype=new Person();//var p1.__proto__=Person.prototype
  74. Programmer.prototype.WriteCode = function(){
  75. alert("programmer write code");
  76. };
  77.  
  78. Programmer.prototype.Salary=500;
  79. var p = new Programmer();
  80. //p.__proto__=Programmer.prototype;
  81. //Programmer.prototype.__proto__=Person.prototype;
  82. //p.__proto__.__proto__=Person.prototype
  83.  
  84. p.Say();
  85. p.WriteCode();
  86. alert(p.Salary);
  87.  
  88. </script>
  89. </head>
  90. <body>
  91.  
  92. </body>
  93.  
  94. </html>

再次理解JavaScript原型链和匿名函数的更多相关文章

  1. 深入理解javascript原型链

    在javascript中原型和原型链是一个很神奇的东西,对于大多数人也是最难理解的一部分,掌握原型和原型链的本质是javascript进阶的重要一环.今天我分享一下我对javascript原型和原型链 ...

  2. 简单粗暴地理解 JavaScript 原型链 (一个充满歪门邪理的理解方法,有助于新手哦!)

    原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧, ...

  3. 好文要顶之 --- 简单粗暴地理解 JavaScript 原型链

    原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧, ...

  4. 简单粗暴地理解 JavaScript 原型链

    尼玛!你特么也是够了! Don’t BB! Show me the code! function Person (name) { this.name = name; } function Mother ...

  5. 简单理解JavaScript原型链

    简单理解原型链 什么是原型 ? 我是这样理解的:每一个JavaScript对象在创建的时候就会与之关联另外一个特殊的对象,这个对象就是我们常说的原型对象,每一个对象都会从原型"继承" ...

  6. 三张图理解JavaScript原型链

  7. 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】

    先解释一下什么是“自由变量”. 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量.如下图 如上程序中,在调用fn()函数时,函数体中第6 ...

  8. 深入理解javascript原型和闭包(2)——函数和对象的关系

    上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; co ...

  9. 深入理解javascript原型和闭包(2)——函数与对象的关系

    上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; co ...

随机推荐

  1. parentNode(返回指定节点的父节点。)

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  2. asp.net的decimal保留两位小数

    C#的decimal保留两位小数 方法一: decimal d = 46.28111; string dStr = Math.Round( d,2 ).ToString(); 结果:dStr = 46 ...

  3. Self-Paced Training (3) - Docker Operations

    AgendaTroubleshooting ContainersOverview of Security PracticesPrivate RegistryIntro to Docker Machin ...

  4. HDU 1272 小希的迷宫 (水题)

    题意: 其实就是让你判断一个图是否为树,要求不能有孤立的点(没有这中情况),且只能有1个连通图,且边数+1=点数,且每个点都有边(不可能只有1个点出现). 思路: 有可能出现连续的4个0,也就是有测试 ...

  5. Java [Leetcode 165]Compare Version Numbers

    题目描述: Compare two version numbers version1 and version2.If version1 > version2 return 1, if versi ...

  6. 最简单的视音频播放示例6:OpenGL播放YUV420P(通过Texture,使用Shader)

    本文记录OpenGL播放视频的技术.上一篇文章中,介绍了一种简单的使用OpenGL显示视频的方式.但是那还不是OpenGL显示视频技术的精髓.和Direct3D一样,OpenGL更好的显示视频的方式也 ...

  7. 八位彻底改变App Store的iOS开发者

    我们与 app 交互的方式已经被一群聪明的开发者所完全改变,他们的共性是对 app 都有各自独到的见解.下面就是其中最顶尖的八位. Loren Brichter Tweeite 不是 iOS 上第一个 ...

  8. HDU 5874 Friends and Enemies

    Friends and Enemies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  9. Oracle中函数/过程返回结果集的几种方式

    原文 Oracle中函数/过程返回结果集的几种方式 Oracle中函数/过程返回结果集的几种方式:    以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过.    ...

  10. Android aidl 打入jar解决方法

    工程上右键 选择export 然后取消选择这个工程里的所有的文件 点开到gen文件夹下选择aidl生成的 java文件 选择生成的java文件和src目录导出jar包即可