再次理解JavaScript原型链和匿名函数
- <!---------------------------------------------
- 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>
再次理解JavaScript原型链和匿名函数的更多相关文章
- 深入理解javascript原型链
在javascript中原型和原型链是一个很神奇的东西,对于大多数人也是最难理解的一部分,掌握原型和原型链的本质是javascript进阶的重要一环.今天我分享一下我对javascript原型和原型链 ...
- 简单粗暴地理解 JavaScript 原型链 (一个充满歪门邪理的理解方法,有助于新手哦!)
原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧, ...
- 好文要顶之 --- 简单粗暴地理解 JavaScript 原型链
原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧, ...
- 简单粗暴地理解 JavaScript 原型链
尼玛!你特么也是够了! Don’t BB! Show me the code! function Person (name) { this.name = name; } function Mother ...
- 简单理解JavaScript原型链
简单理解原型链 什么是原型 ? 我是这样理解的:每一个JavaScript对象在创建的时候就会与之关联另外一个特殊的对象,这个对象就是我们常说的原型对象,每一个对象都会从原型"继承" ...
- 三张图理解JavaScript原型链
- 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
先解释一下什么是“自由变量”. 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量.如下图 如上程序中,在调用fn()函数时,函数体中第6 ...
- 深入理解javascript原型和闭包(2)——函数和对象的关系
上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; co ...
- 深入理解javascript原型和闭包(2)——函数与对象的关系
上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; co ...
随机推荐
- parentNode(返回指定节点的父节点。)
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- asp.net的decimal保留两位小数
C#的decimal保留两位小数 方法一: decimal d = 46.28111; string dStr = Math.Round( d,2 ).ToString(); 结果:dStr = 46 ...
- Self-Paced Training (3) - Docker Operations
AgendaTroubleshooting ContainersOverview of Security PracticesPrivate RegistryIntro to Docker Machin ...
- HDU 1272 小希的迷宫 (水题)
题意: 其实就是让你判断一个图是否为树,要求不能有孤立的点(没有这中情况),且只能有1个连通图,且边数+1=点数,且每个点都有边(不可能只有1个点出现). 思路: 有可能出现连续的4个0,也就是有测试 ...
- Java [Leetcode 165]Compare Version Numbers
题目描述: Compare two version numbers version1 and version2.If version1 > version2 return 1, if versi ...
- 最简单的视音频播放示例6:OpenGL播放YUV420P(通过Texture,使用Shader)
本文记录OpenGL播放视频的技术.上一篇文章中,介绍了一种简单的使用OpenGL显示视频的方式.但是那还不是OpenGL显示视频技术的精髓.和Direct3D一样,OpenGL更好的显示视频的方式也 ...
- 八位彻底改变App Store的iOS开发者
我们与 app 交互的方式已经被一群聪明的开发者所完全改变,他们的共性是对 app 都有各自独到的见解.下面就是其中最顶尖的八位. Loren Brichter Tweeite 不是 iOS 上第一个 ...
- HDU 5874 Friends and Enemies
Friends and Enemies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- Oracle中函数/过程返回结果集的几种方式
原文 Oracle中函数/过程返回结果集的几种方式 Oracle中函数/过程返回结果集的几种方式: 以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过. ...
- Android aidl 打入jar解决方法
工程上右键 选择export 然后取消选择这个工程里的所有的文件 点开到gen文件夹下选择aidl生成的 java文件 选择生成的java文件和src目录导出jar包即可