`

[JS基础]Javascript的this在Ext中的应用

阅读更多
如果你只是使用Ext做些小样子,那么你完全不必理会this(Ext的官方例子里面也基本上很少用这个关键字,因为这个原本在其他语言中非常简单的东西在Javascript却变得有时候让人难以捉摸);但是如果你想了解整个Ext框架或是编写可重用的js组件,你就不得不认识清楚这个关键字了。
要点:
  • 全局环境下this指向window对象
  • 这个函数做为谁的属性被调用,那么this就指向谁,不做为属性被调用时this指向window

  • 尽管b是在a函数中定义的,但它却不做为a的属性被调用(注释上说的不准确,实际上b函数是做为a函数的activation object的属性来调用的,这个对象只在运行时产生,运行完后销毁(闭包例外)我们在JS中是取不到的)

    JSON格式直接赋值的直接量对象,灰常简单
  • 函数做为特殊函数属性constructor使用时this指向生成的对象
  • 调用函数对象的call或apply方法可以调用这个函数的同时改变this的的指向(call和apply方法的第一个参数是新的this指向对象,后面的参数都是执行函数对象所需要的参数)




其实只要完全理解以上四点就可以解释所有this的指向问题了,Ext的一些方法不过是对一些常用的情况进行了封装罢了。
未完成...
  • 大小: 2.9 KB
  • 大小: 4.1 KB
  • 大小: 4.3 KB
  • 大小: 4.3 KB
分享到:
评论

相关推荐

    Ext2.0js my first test

    在"Ext2.0js my first test"项目中,你可能会接触到一些基础的组件,例如创建一个简单的窗口或按钮。 `test.jsp`文件可能是这个项目中的主入口点,它是JavaServer Pages(JSP)文件,用于动态生成HTML内容。在JSP中...

    ext工作流javascript

    ExtJS工作流与JavaScript结合是Web应用程序开发中的一个重要领域,特别是在构建复杂的企业级应用时。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件和数据绑定功能,而工作流则是管理和控制业务流程的一...

    ext 教材 ext js 教程

    EXT JS 提供的 MessageBox 组件不仅提高了用户体验,还简化了开发者的工作,使得在Web应用程序中添加复杂的用户交互变得更加容易。通过深入学习和实践 EXT JS 教程,开发者可以更加熟练地利用这些功能来提升他们的...

    ext中播放声音

    压缩包中的文件名为"ext中播放音乐",这可能是音频文件的名字,例如`music.mp3`。在EXTJS应用中,你需要将这个文件上传到服务器,并获取其URL。然后,创建`CustomAudio`组件时,将`src`属性设置为音频文件的URL,...

    EXT中FCK的使用

    在EXT中集成FCKeditor,可以为EXT应用程序提供一个强大的文本编辑功能。 1. **EXT与FCKeditor的结合** 在EXT应用中,通常会遇到需要用户输入大量文本的情况,如发布文章或编辑内容。FCKeditor的引入解决了这个问题...

    Gwt-ext学习笔记之基础篇

    - 在项目的`public`目录中创建`js`文件夹,并将`ext-2.1`目录下的`adapter`、`resources`目录以及`ext-all.js`、`ext-core.js`等文件导入到`js`文件夹下。 3. **修改HTML宿主页面和模块配置文件** - 在`Register...

    ext 中嵌入CKEditor 实现代码

    EXTJS的`Ext.ux.CKEditor.js`文件是一个用户扩展,它允许我们在EXTJS中无缝集成CKEditor。这个文件定义了一个新的EXTJS组件类,比如`Ext.ux.CKEditorField`,我们可以使用这个组件来创建编辑器实例。 例如,在`int...

    EXT支持GRID中文排序

    在前端开发中,特别是涉及到表格数据展示的应用场景下,对表格中的数据进行排序是一项常见的需求。对于包含中文字符的数据集而言,实现准确、高效的中文排序尤为关键。本文将详细介绍如何通过自定义`Ext.data.Store`...

    EXT扩展Htmleditor,在工具栏中添加插入图片按钮,可选择图片插入到编辑器中(也可添加其他功能按钮)

    EXT是一个强大的JavaScript库,主要用来构建富客户端应用。在EXT框架中,Htmleditor是一个非常实用的组件,它允许用户在网页上直接编辑HTML内容,就像使用一个完整的文本编辑器一样。本教程将深入讲解如何在EXT ...

    Ext一些方法的重写

    在`ext-extend.js`这个文件中,可能包含了对`Ext.extend()`的进一步实现和扩展,或者展示了如何在实际项目中重写`Ext`库的方法。通常,这样的代码示例会包含具体的类定义、方法重写以及如何在应用中使用这些自定义类...

    Ext与后台服务器的交互操作

    在Ext JS中,生成用户界面是一个基础但又非常关键的部分。对于大多数应用程序来说,实现CRUD(Create, Read, Update, Delete)操作是非常常见的需求。为了简化这一过程,开发者通常会封装一个专门用于CRUD操作的面板...

    Ext.net怎么设置快捷键

    在你的示例中,`<ext:ResourceManager ID="ResourceManager1" runat="server" />`是用来引入EXT.NET的JavaScript库的。 接着,我们创建了一个`Store`对象,`<ext:Store ID="Store1" runat="server">`,用于存储数据...

    Ext JS 7.6.0.41 SDK

    # Sencha Ext JS This is the Sencha Ext JS Framework Package, or just "ext" for short. Release Notes for Ext JS 7.6.0 Release Date: Thu Apr 28 2022 Version Number: 7.6.0.41

    learning ext js 中文版之在对话框中添加图标和按钮事件

    在EXT JS这个强大的JavaScript框架中,创建用户界面和交互元素是一项关键任务。"学习EXT JS中文版之在对话框中添加图标和按钮事件"这一主题深入探讨了如何为EXT JS的对话框(Modal Dialog)增添视觉吸引力和功能性,...

    EXT学习笔记-项目应用实践

    EXTJS是一种基于JavaScript的客户端富用户界面库,它提供了丰富的组件和面向对象的编程模型,使得在浏览器端构建复杂的Web应用程序成为可能。这篇EXT学习笔记主要涵盖了EXTJS中面向对象编程的一些关键概念和实践,...

    Ext JS in Action, 2nd Edition

    Ext JS is a mature JavaScript web application framework that provides modern UI widgets and an advanced MVC architecture. It helps you manage tedious boilerplate and minimize hand-coded ...

    Ext grid合并单元格

    根据提供的文件信息,我们可以深入探讨如何在 Ext JS 中实现 Grid 的单元格合并功能。此案例主要涉及到了自定义 GridView 的 `renderHeaders` 方法来达到单元格合并的目的,并且还涉及了模板(Template)的使用、...

    ext打印、jquery打印、ext导出excel

    在IT行业中,打印功能和数据导出能力是Web应用程序中不可或缺的部分。`ext打印`、`jquery打印`和`ext导出excel`都是与前端开发密切相关的技术,主要用于提升用户体验和增强数据处理能力。 首先,我们来详细了解一下...

    Ext_Extend 用法及解读

    总结一下,`Ext.extend`提供了在JavaScript中实现面向对象编程的类继承机制。它通过创建新的类并扩展现有类的功能,使得代码复用和组织更加有序。理解`Ext.extend`的工作原理,以及如何正确地重写和调用父类方法,...

    EXT dojochina Ext方法重写.rar

    EXT.js是一个流行的JavaScript库,用于构建富客户端应用,它提供了丰富的组件、布局管理和数据绑定机制。在EXT.js中,方法重写是一种常见的实践,允许开发者扩展或修改框架的内置功能,以满足特定项目的需求。 在...

Global site tag (gtag.js) - Google Analytics