再次理解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 ...
随机推荐
- jquery 字符串转json
这里考虑的都是服务器返回JSON形式的字符串的形式 代码如下: var data=" { root: [ {name:'1',value:'0'}, {name:'6101',value:' ...
- [反汇编练习] 160个CrackMe之013
[反汇编练习] 160个CrackMe之013. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...
- HDU 5312 Sequence (规律题)
题意: 一个序列的第n项为3*n*(n-1)+1,而 n>=1,现在给一个正整数m,问其最少由多少个序列中的数组成? 思路: 首先,序列第1项是1,所以任何数都能构成了.但是最少应该是多少?对式 ...
- apache开源项目--dbutils
原则上这不能说是一个持久层框架,它提供了一些Jdbc的操作封装来简化数据查询和记录读取操作.本站就是采用这个项目来读写数据库,代码非常简洁,如果你厌烦了Hibernate的庞大,不妨可以试试——DbU ...
- 【转】Masonry介绍与使用实践(快速上手Autolayout)
原文网址:http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ 前言 1 MagicNumber -> aut ...
- git pull冲突解决
场景:用户UserA修改了文件File1,用户UserB也修改了文件File1并成功merge到了服务器上,而UserA和UserB改动了同一个代码块,当UserA拉取代码时git无法merge此改动 ...
- java AES加密算法
package com.siro.tools; import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import j ...
- HDU 5883 The Best Path
The Best Path Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- 数据库SQL Server与C#中数据类型的对应关系
ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A,返回顶部 数据库 C#程序 int int ...
- Delphi的windows剪切板操作函数
1. Clipbrd函数 function Clipboard: TClipboard;:若应用程序从未使用过剪贴板,则调用该函数形成新的剪贴板:若之前使用过剪贴板则返回使用过的剪贴板. 属性: As ...