`
sp42
  • 浏览: 147310 次
  • 来自: Canton
文章分类
社区版块
存档分类
最新评论

JavaScript对象expando属性 强大、优美的地方

阅读更多
下面是一个会员登录对话框,要求XHR验证用户身份后返回用户名称,显示在对话框标题上
//JumperDailog为对话框类,注意title属性是待格式化文本,{0}代表将来的“用户名称”的位置
JumperDailog = Ext.extend(Ext.Window, {
	width : 625,
	height : 332,
	title : '{0}已成功登录',
	style : "text-align:center",
	initComponent : function(){
		alert(this.title+this.UserName);
		this.setTitle(String.format(this.title, this.UserName));//this.UserName从配置项对象上得到
	},
	html : {tag : 'div', children :[
         ............
        ]}
});


登录成功后:
				(new JumperDlg({
					UserName : 'Jack' //这里应是XHR返回的用户名
				})).show()

UserName的属性经过JumperDailog的构造器内apply函数实现复制,挂到JumperDailog身上(expando的体现),
然后initComponent + setTitle的方法实现了 “Jack已成功登录”之文本,
--一切貌合神离,一切无须多讲
分享到:
评论

相关推荐

    HTML中不支持静态Expando的元素的问题

    在HTML编程中,Expando属性是指在HTML元素上动态添加的JavaScript属性,这些属性并非HTML标准定义的一部分,而是由浏览器的JavaScript引擎所支持的一种特性。然而,并非所有HTML元素都支持静态添加Expando属性,即在...

    jQuery中数据缓存$.data的用法及源码完全解析

    一、实现原理: ...对于Javascript对象,数据则直接存储在该Javascript对象的属性jQuery.expando上。在读取、设置、移除数据时,实际上是对Javascript对象的数据缓存对象执行读取、设置、移除操作。 为了避免jQu

    jQuery的实现原理的模拟代码 -2 数据部分

    每个DOM对象的私有数据被封装在一个对象中,并且这个对象通过与DOM元素关联的唯一键值(即expando属性的值)与DOM对象关联起来。在操作DOM对象私有数据时,首先通过expando属性获取键值,然后通过这个键值从`jQuery....

    documnent对象的使用.doc

    - `expando`:表示是否可以在对象中创建自定义属性。 - `fgColor`:设置或获取文档的文本颜色。 - `fileCreatedDate`和`fileModifiedDate`:获取文件的创建和修改日期。 - `fileSize`:获取文件大小。 - `...

    深入学习jQuery中的data()

    在JavaScript中,当我们直接在 DOM 元素上添加自定义属性并赋值为 JavaScript 对象时,如果这个对象不再被其他变量引用,按理说它应该会被垃圾回收机制自动删除。然而,由于 DOM 元素还持有对该对象的引用,垃圾回收...

    document对象

    * expando:设置或获取表明是否可对象内创建任意变量的值。 * fgColor:设置或获取文档的前景(文本)颜色。 * fileCreatedDate:获取文件创建的日期。 * fileModifiedDate:获取文件上次修改的日期。 * fileSize:...

    jQuery中数据缓存$.data的用法及源码完全解析.pdf

    对于JavaScript对象,数据直接存储在对象的`jQuery.expando`属性上。 内部数据和用户自定义数据是分开存储的,内部数据存储在数据缓存对象上,而用户自定义数据存储在`data`属性下,以避免两者之间的冲突。 二、...

    expando.github.com

    总的来说,"expando.github.com"项目提供了一个实践和学习HTML、CSS和JavaScript的好机会,特别是对于想要了解如何在GitHub上管理和分享自己的网页项目的人来说。通过这个项目,你可以深入理解网页开发的流程,并...

    判定对象是否为window的js代码

    在JavaScript编程中,判断一个对象是否为`window`对象是一个常见的需求,特别是在处理浏览器环境中的全局变量和函数时。`window`对象是浏览器环境中全局作用域的代表,它包含了浏览器提供的许多内置对象和方法,如`...

    rule-expando:Liferay受众群体定位规则

    在Liferay Portal中,"rule-expando"是一个用于定制化用户受众群体定位的工具,它允许管理员和开发者根据用户的不同属性或扩展数据来定义规则,从而实现精细化的内容分发和服务提供。这个工具的核心是利用了Liferay...

    编译的 HTML 帮助文件 (.chm) DHTML手册

    expando 设置或获取表明是否可对象内创建任意变量的值。 fgColor 设置或获取文档的前景(文本)颜色。 fileCreatedDate 获取文件创建的日期。 fileModifiedDate 获取文件上次修改的日期。 fileSize 获取文件大小。...

    使用jQuery卸载全部事件的思路详解

    具体操作时,为了卸载一个元素上的所有事件,我们可以通过遍历所有元素(包括window对象)并删除它们的expando属性来实现。例如,通过以下代码可以清空所有元素上的标识符: ```javascript $('*').add(window).each...

    JS 有名函数表达式全面解析

    - 在使用有名函数表达式时需谨慎,尤其是涉及到对象属性或状态管理时。 - 考虑使用匿名函数表达式或箭头函数等替代方案,以避免此类问题。 #### 四、总结 通过以上实例,我们可以看出有名函数表达式虽然提供了一种...

    jQuery数据缓存功能的实现思路及简单模拟

    3. 将每个DOM节点的expando属性值设为一个自增的变量id,这个id作为cache对象中的key,从而实现DOM节点和缓存数据之间的关联。 4. 在cache对象中,每个id对应一个elem缓存数据,这样的缓存对象可以包含多个name/...

    jQuery.data() 的实现方式

    这个功能强大的工具使得开发者可以方便地与DOM元素关联任意的JavaScript对象或值,而无需污染HTML属性或使用全局变量。这篇博客文章将深入探讨 `jQuery.data()` 的实现方式,包括其工作原理、使用场景以及注意事项。...

    Js实现鼠标悬停放大图片.rar

    这个功能主要依赖JavaScript来实现,其中提到了一个名为"expando.js"的JS封装类。下面将详细介绍这一技术实现及其相关的JavaScript知识点。 1. **JavaScript基础**:JavaScript是一种广泛使用的客户端脚本语言,它...

Global site tag (gtag.js) - Google Analytics