再次理解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 ...
随机推荐
- attachEvent,addEventListener事件绑定
兼容各主流浏览器的事件绑定(在同一个事件上添加多个处理函数). 1.绑定方法: //IE attachEvent(事件名, 函数) oBtn.attachEvent('onclick', aaa); ...
- [swustoj 373] Antiprime数
Antiprime数(0373) 问题描述 如果一个自然数n(n>=1),满足所有小于n的自然数(>=1)的约数个数都小于n的约数个数,则n是一个Antiprime数.譬如:1, 2, 4 ...
- 配置IIS服务器,APK文件下载
解决方法:在IIS的MIME类型中添加扩展名.apk,MIME类型application/vnd.android即可
- Java [Leetcode 328]Odd Even Linked List
题目描述: Given a singly linked list, group all odd nodes together followed by the even nodes. Please no ...
- linux下打开chm文件的方法
windows中,通常情况下,chm文件可以使用系统自带的程序打开,但是linux就没有那么幸运了,那么,如何在linux下打开chm 文件呢?有小编来为您介绍介绍,本篇,小编以ubuntu环境为例 ...
- 【转】cocos2d-x与ios内存管理分析(在游戏中减少内存压力)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=281 注:自己以前也写过coco ...
- Android-给另一个Activity传递HashMap
I have a HashMap which I would pass to another Activity class. I simply use this code: Intent intent ...
- Asp.net 将DataTable 或者DataSet 转换为Json 格式
Web 开发中,将从数据库中取到的数据直接转换为 Json 格式的数据,在前台通过Ajax 无刷新显示在界面上,下面提供将DataTable 或者DataSet 转换为Json 的方法 /// < ...
- C# 如何以参数的形式调用.exe程序
System.Diagnostics.Process.Start("程序的路径", "参数1 参数2");第一个参数是aaa.exe 的路径,第二个参数是用空格 ...
- java web 学习十二(session)
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...