`
yahaitt
  • 浏览: 760762 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

透析Extjs的Ext.js源码(二)能在定义时就能执行的方法的写法 function(){...}

EXT 
阅读更多
/**
 * 第二部分:能在定义时就能执行的方法的写法 function(){...}();
 */
/**
 * 一、普通的方法的定义与执行
 */
// 1-1、普通的方法定义,不带返回值的情况
fun = function() {
	alert("执行");
};
// 1-2、普通的方法执行,不带返回值的情况
// fun();// 输出结果:执行

// 2-1、普通的方法定义,带返回值,且返回值是个字符串的情况
fun = function() {
	alert("执行");
	return "返回的是字符串";
}
// 2-2、普通的方法执行,带返回值,且返回值是个字符串的情况
// fun();// 输出结果:执行
// 2-3、普通的方法执行,带返回值,且返回值是个字符串的情况,并将返回值输出
// alert(fun());// 输出结果:执行,返回的是字符串,(分别是两次警告框形式出现),原因是,先执行fun(),然后会带回返回的字符串,再通过alert输出
// alert(typeof fun());// 输出结果:执行,string

// 3-1、普通的方法定义,带返回值,且返回值是个object的情况
fun = function() {
	alert("执行");
	return new Date();
}
// 3-2、普通的方法执行,带返回值,且返回值是个object的情况
// fun();// 输出结果:执行
// 3-3、普通的方法执行,带返回值,且返回值是个object的情况,并将返回值输出
// alert(fun());// 输出结果:执行,Wed May 14 16:25:32 UTC+0800 2008
// 3-4、普通的方法执行,带返回值,且返回值是个object的情况,并将返回值类型输出
// alert(typeof fun());// 输出结果:执行,object

// 4-1、普通的方法执行,带返回值,且返回值是个function的情况
fun = function() {
	alert("执行");
	return function() {
		alert("返回类型是个方法");
	};
}
// 4-2、普通的方法执行,带返回值,且返回值是个function的情况
// fun();// 输出结果:执行
// 4-3、因为fun()执行后返回的是个function,所以根据这个返回的function的参数情况(比如参数的个数和类型)再执行一次返回的function,
// 因为此处这个返回的function是不需要参数的,所以就可以直接用()来执行
// fun()();// 输出结果:执行,返回类型是个方法
// 3-4、普通的方法执行,带返回值,且返回值是个object的情况,并将返回值类型输出
// alert(typeof fun());// 输出结果:执行,function

/**
 * 定义时就能执行
 */
 
fun = function(){
	alert("执行");
}();
//alert(fun);

fun = function(){
	alert("执行");
	return "返回的是字符串";// 返回的是个字符串
}();
//alert(fun)


fun = function(){
	alert("执行");
	return new Date();// 返回的是个object
}();
alert(fun);


fun = function(){
	alert("执行");
	return function(){
		alert("返回类型是个方法");
	}// 返回的是个方法
}();
fun();
分享到:
评论
4 楼 damoqiongqiu 2009-03-12  
继续继续,很不错的
3 楼 slmdyk 2008-08-13  
看明白了,不过觉得代码还是写的简洁更好!
2 楼 yahaitt 2008-05-28  
你理解的没错
1 楼 ccz010 2008-05-27  
fun = function(){  
    alert("执行");  
    return new Date();// 返回的是个object  
}();  
alert(fun);  

按照俺的理解应该是

var a=function(){  
    alert("执行");  
    return new Date();// 返回的是个object  
}
fun = a();  

alert(fun);

也就是js编译器内部的代码样式,想不明白这样表达的有点,不知道有没有人知道 

相关推荐

    extjs-Ext.ux.form.LovCombo下拉框

    在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...

    Extjs4.X下comboboxTree下拉树型菜单,完美支持多选、单选,绝对好用

    在ExtJS 4.x框架中,ComboboxTree是一种特殊的组件,它将传统的下拉框与树形结构结合在一起,提供了一种更为灵活的用户输入方式。这种组件在数据选择上非常实用,尤其当数据层级关系复杂时,可以方便地进行多选或...

    EXTJS3 Ext.PagingToolbar() 快捷键应用

    在这个例子中,`Ext.getDoc().on('keydown'...)` 注册了一个全局的键盘事件监听器,当用户按下`PAGE_UP`或`PAGE_DOWN`键时,`prevPage`和`nextPage`方法会被调用,分别执行上一页和下一页的操作。 快捷键的应用不仅...

    extjs grid.panel 项目 源码

    在"extjs grid.panel 项目 源码"中,我们可以深入理解如何利用ExtJS构建一个功能完备的数据网格。 Grid Panel是ExtJS中的一个核心组件,它允许开发者以表格的形式展示大量数据,并提供多种交互功能,如排序、分页、...

    Ext Extjs 禁止文本和日期编辑

    在Ext JS这个强大的JavaScript框架中,开发者经常使用各种组件来构建富客户端应用,其中包括TextField(文本字段)和DatePicker(日期选择器)。有时,我们可能需要根据应用需求在运行时禁用这些组件的编辑功能,...

    关于extjs ext.tree

    ExtJS 是一个流行的JavaScript库,专门用于构建富客户端应用程序,特别是那些基于Web的桌面级应用。它提供了大量的组件,如表格、树形视图、窗口、表单等,用于创建功能丰富的用户界面。在本篇中,我们将深入探讨...

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    ext JS 源码和学习资料

    EXT JS 是一种基于JavaScript的富客户端应用框架,主要用于构建交互性强、用户体验良好的Web应用程序。它提供了大量的组件和功能,使得开发者能够轻松创建复杂的用户界面。本压缩包包含EXT JS的多个版本源码,如ext-...

    ExtJs charts.swf源码

    ExtJs图表库是基于Flash的charts.swf组件,主要用于在Web应用中生成各种动态和交互式的图表。这个组件在ExtJs 2.6和2.8版本中被广泛使用,为开发者提供了丰富的可视化数据呈现方式。本文将深入探讨ExtJs charts.swf...

    ExtJS 多文件上传 UploadDialog For ExtJS3.x

    `Ext.ux.Utils.FSA`类用于实现基于状态转换的逻辑,它的核心是定义一个状态转换表,该表描述了在不同状态下收到特定事件时应采取的动作。这种设计模式非常适合处理具有复杂状态转换的应用场景,如文件上传过程中的...

    ExtJs选中var editor = new Ext.ux.grid.RowEditor详解

    在Web开发领域,特别是使用ExtJs框架进行复杂用户界面构建时,`RowEditor` 是一个非常实用的功能,它允许用户直接在表格行内编辑数据,极大地提高了用户体验。本文将详细解析 `var editor = new Ext.ux.grid....

    Ext.ux.SwfUploadPanel.js

    在实际使用`Ext.ux.SwfUploadPanel.js`时,你需要在ExtJS应用程序中引入这个文件,并配置相关参数,例如服务器端处理脚本地址、允许的文件类型、最大文件大小等。然后,你可以像创建其他ExtJS组件一样,实例化...

    Extjs6.x插件,双击关闭选项卡(js源码)

    1. **定义插件类**:首先,你需要定义一个新的EXTJS 类,继承自`Ext.AbstractPlugin` 或 `Ext.util.Plugin`,这将是你的插件基类。 2. **初始化插件**:在构造函数中,你可以设置插件的相关配置,并通过`init` 方法...

    Extjs3.x入门学习

    ExtJS 是一个强大的JavaScript库,主要用于构建富客户端的Web应用程序。在3.x版本中,它提供了丰富的用户界面组件和强大的数据绑定机制。本篇将基于"Extjs3.x入门学习"这一主题,深入探讨相关知识点。 1. **EXT_JS...

    Ext.Ajax.request跨域

    在IT行业中,跨域是Web开发中一个常见的挑战。...通过理解和运用CORS,我们可以利用Ext.Ajax.request在ExtJS应用中安全地进行跨域通信。同时,深入研究`domain.js`文件将有助于我们掌握具体实现细节。

    ExtJS ToolTip功能

    在ExtJS中,`ToolTip`功能是一种非常实用且灵活的功能,它允许用户在鼠标悬停在某个元素上时显示额外的信息。这种特性对于提高用户界面的可用性和用户体验尤其有用。本文将详细介绍如何在ExtJS中实现ToolTip,并通过...

    ExtJs的Ext.Ajax.request实现waitMsg等待提示效果

    在这里,我们对Ext.getBody()这个返回当前文档主体DOM元素的方法返回的对象使用Ext.LoadMask,这样就会在整个页面上显示加载提示。 在用户点击确认按钮之后,我们将创建一个Ext.LoadMask实例,并调用show方法来显示...

    extjs4的Ext.frorm.Panel控件属性说明和表单控件说明

    主要用例子说明extjs4的form表单的运用,其中有表单属性说明,表单控件运用说明如: title:'表单', //表单标题 bodyStyle:'padding:5 5 5 5', //表单边距 height:120, //表单高度 width:200, //表单宽度 ...

    extjs 可编辑的表格树 Ext.tree.ColumnTree Ext.tree.ColumnTreeEditor

    extjs 可编辑的表格树,每个单元格自定义编辑组件,可以自适应列宽,只有源码与例子,运行实例要修改路径,不然图片不能显示,注意etree.jsp的js引入路径 支持Ext2.x以上版本 如运行不了EmailTo : codeme9@gmail....

Global site tag (gtag.js) - Google Analytics