<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是一种解释型、跨平台的编程语言,主要应用于Web浏览器,用于增加网页的动态功能,如响应用户交互、操作DOM(文档对象模型)、执行异步通信(Ajax)等。JavaScript是Web开发中的基石,而ExtJS则是在这个...
在JavaScript的世界里,面向对象(Object-Oriented Programming, OOP)是一种常用的设计模式,它允许我们通过类和对象来组织代码,实现代码的复用和模块化。本篇文章将探讨EXTJS框架中的面向对象机制,特别是继承的...
了解并掌握这些Ext的面向对象特性,有助于编写更高效、结构化的JavaScript代码,特别是在构建复杂的Web应用程序时。在实际的`ExtTest`项目中,这些概念会被广泛运用,以创建可复用、可维护的组件和模块。
EXTJS 是一个基于 JavaScript 的富客户端框架,它提供了强大的组件模型和面向对象的编程方式,使得开发者能够构建复杂的 Web 应用程序。面向对象编程(Object-Oriented Programming, OOP)是EXTJS的核心特性之一,...
Ext JS是一个流行的JavaScript库,用于构建桌面和移动应用程序的用户界面。它提供了一种面向对象的编程模型,使得开发者可以方便地管理和操作组件、数据存储以及事件处理。 在Ext JS中,对象通常指的是各种UI组件...
对于已经具备面向对象编程基础的开发者来说,学习Ext可以帮助他们快速创建功能强大且具有吸引力的Web应用。 首先,理解Ext的核心概念至关重要。Ext是一个Ajax框架,其主要目标是提升Web应用的交互性和用户体验。它...
EXT2.0、EXT4.0 和 JS 是计算机科学领域中的三个重要概念,它们分别代表了Linux文件系统、JavaScript编程语言以及JavaScript库EXT JS的相关版本。 EXT2.0是Linux操作系统下的一种文件系统,它是EXT(第二扩展文件...
1. **EXT类体系**:EXT基于面向对象的编程理念,采用类继承的方式来组织代码。所有EXT组件都继承自一个基础类,如Ext.Component,通过扩展和组合这些基类来创建特定的UI元素。 2. **静态方法的概念**:静态方法是不...
Ext框架是基于JavaScript的UI库,它为Web应用程序提供了丰富的组件和交互效果。在深入探讨Ext框架结构之前,我们先来理解一下JavaScript框架的基本概念。一个JavaScript框架是用于简化JavaScript开发的一系列预定义...
JavaScript是EXT JS的基石,因此掌握JavaScript的基本语法和面向对象编程是使用EXT的前提。EXT JS 1.1虽然较为古老,但仍然包含了许多现代前端开发的理念,如MVC(Model-View-Controller)架构,这种架构模式有助于...
JavaScript是一种基于对象的编程语言,但并非严格意义上的面向对象语言,因为它仅实现了封装,缺乏继承和多态。JavaScript中的对象是关键元素,几乎无处不在,甚至函数本身也被视为对象。对象可以理解为可变的键控...
综上所述,文章深入探讨了基于Ext的单页系统设计方法,强调了面向对象编程思想在客户端JavaScript中的应用,以及如何利用Ext的组件化和动态数据加载特性优化用户体验。通过这种方式,开发者能够构建出高效、易于维护...
EXT基于JavaScript,所以理解JavaScript语法和面向对象编程概念是非常必要的。开发者可能会学到如何创建EXT组件、布局管理、事件处理等。 总的来说,这个“ext/ajax开发资料”应包含EXT库的Ajax使用方法,以及可能...
面向对象编程** JavaScript支持类(ES6引入)和原型链实现面向对象特性。可以创建对象、定义构造函数、使用原型属性和方法。 **13. JavaScript Date对象** Date对象用于处理日期和时间,可以创建、比较和操作日期...
总结来说,本压缩包提供的资料专注于Ext类的构造方法,这涉及到Ext JS的核心编程概念,包括类的继承、构造函数的使用、配置对象、组件生命周期以及代码重用策略。掌握这些知识将有助于开发者更深入地理解和使用Ext ...
通过对这些PPT的学习,你将掌握EXT的基本用法,包括DOM操作、事件处理、组件系统和面向对象编程。EXT结合Ajax和Java,可以构建出高性能、用户友好的Web应用,适用于各种业务场景。深入理解并熟练运用EXT,能提升你的...
总结来说,"Ext继承和扩展写的例子"这个主题,涉及到的核心知识点包括JavaScript的面向对象编程,Ext JS库的使用,特别是其组件模型和继承机制。通过学习这个例子,开发者可以深入理解如何利用这些特性创建可复用、...
- **面向对象编程**:使用类和对象的概念来组织代码。 - **继承机制**:通过继承现有类来扩展功能。 #### 13. 表单组件入门 - **表单体**:定义表单的整体结构。 - **表单字段**:添加输入框、下拉列表等控件。 ...