<script type="text/javascript">
//理解javascript中的this
var obj1 = {
prop1:"obj1:世界,你好",
hello:function(){
alert("obj1 alert:"+this.prop1);
}
};
var obj2 = {
prop1:"obj2:世界,你好",
hello:function(){
alert("obj2 alert:"+this.prop1);
}
};
obj1.hello();
obj2.hello();
//通过call方法,可以改变函数内部的this的值
obj1.hello.call(obj2);
</script>
|
上述例子,演示了如何通过call操作改变this变量的。
<script type="text/javascript">
//理解javascript中的this
function GG(){
this.something = 200;
alert(this.something);
function G1(){
alert(this.something);
function G2(){
alert(this.something);
}
G2();
}
G1();
}
something = 100;
var g = new GG(); // 100
</script>
|
再一次演示:内部函数中的this表示全局的window对象
<script type="text/javascript">
//理解javascript中的this
function GG(){
this.something = 200;
function G1(){
function G2(){
alert(this.something);
}
G2.call(this);
}
G1.call(this);
}
something = 100;
var g = new GG();
</script>
|
再一次演示:如何改变内部函数中的this变量
<script type="text/javascript">
//理解javascript中的this
//x,y是函数的形参
function fn(x,y){
alert(this);
//arguments是函数的实参
alert("传进来的参数长度是? - " + arguments.length);
alert(x + y);
}
fn(34,50,80); //object,3,84
fn.call(23,50,51,52); //23,3,101
</script>
|
演示:如何改变函数中的this变量
Javascript中的闭包
<script type="text/javascript"> function say667() { // Local variable that ends up within closure var num = 666; var sayAlert = function() { alert(num); } num++; return sayAlert; }
var sy = say667(); sy(); alert(sy); </script>
|
返回内部函数,内部函数引用外部函数的变量,使得外部函数的变量会在内存中一直存在(也使得这个变量只能被内部函数使用,即封装),这就叫“闭包”。
分享到:
相关推荐
JavaScript基于对象编程 JavaScript基于对象编程
资源名称:JavaScript面向对象编程指南内容简介: Javascript是一种具有高度表达能力的、基于原型特性的、非常灵活的面向对象编程语言。《Javascript面向对象编程指南》着重介绍Javascript在面向...
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
第4章+JavaScript基于对象编程.pdf
NULL 博文链接:https://goyourauntie.iteye.com/blog/1179204
JavaScript面向对象编程指南是完整的扫描版...
JavaScript面向对象编程指南 pdf,学习JavaScript实用,难得。
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
JavaScript面向对象编程.pdf
javascript面向对象编程指南 2nd英文版,英文名:Object-Oriented JavaScript。 What you will learn from this book The basics of object-oriented programming, and how to apply it in the JavaScript ...
资源名称:JavaScript面向对象编程指南(第2版)内容简介:1.本书是唯一一本介绍Javascript面向对象编程的图书。2.本书作者是知名的Web开发人员和作者。受到国内众多前端开发人员,如淘宝UED团队的推崇和推荐...
JavaScript面向对象编程指南完整版是扫描的....