$(this)与this.id速度比较

jquery方式:

为a元素绑定一个处理点击事件的函数:

$('a').click(function(){

    alert($(this).attr('id'));

});

javascript原生方式:

$('a').click(function(){

    alert(this.id);

  });

总结:上面$(this)与this.id作用域所指对象皆指a元素,但速度this.id原生方式快于$(this)20倍。

 

 

 

-----------------------------------------------------------------------

 

jquery

摘要: pushStack()方法在jQuery的DOM操作中被频繁的使用, 如在parent(), find(), filter()中, 当然还有其他许多类似的方法, 它们往往需要返回一个jQuery封装过的DOM结果集.但在我们自己写jQuery代码的时候,却很少关注或使用过pushStack(). 如果我们需要写个涉及DOM遍历的插件,它就会显得尤其有用.在jQuery内部,pushStack()方法通过改变一个jQuery对象的prevObject属性来"跟踪"链式调用中前一个方法返回的DOM结果集(被jQuery封装过,也是个jQuery对象,说是"跟踪&quo 阅读全文
posted @ 2012-02-06 15:23 Andy Zhang 阅读(181) | 评论 (0) 编辑
摘要: 中午休息时,没有睡意,没事写了个jquery插件:formStorage.原理很简单,通过本地存储机制(userData或者localStorage),存储表单中元素的状态到本地. 需要时可以把所存储的状态还原到表单元素上.其中也用了json数据格式, 之前想对插件中所需的功能,从零开始写,但是觉得太冗余,没必要.就基于另外2个plugin现实.分别是:jquery.json 和 jStorage. 这两个插件本身实用小巧, api简单易用, 其中jStorage在老一点的浏览器(不支持原生JSON操作)中需要用到jquery.json或者json2formStorage对jQuery对象扩展 阅读全文
posted @ 2012-01-18 21:57 Andy Zhang 阅读(249) | 评论 (0) 编辑
摘要: jquery AjaxQueue的简单实现和改进,用于对请求进行一定的控制 阅读全文
posted @ 2011-10-06 11:40 Andy Zhang 阅读(368) | 评论 (0) 编辑
摘要: 按照jquery plugin最佳实践,做了一个progressbar插件 阅读全文
posted @ 2011-09-26 15:39 Andy Zhang 阅读(871) | 评论 (0) 编辑
摘要: 一个简单的基于jquery的ajaxQueue实现 阅读全文
posted @ 2011-09-15 13:03 Andy Zhang 阅读(244) | 评论 (0) 编辑
摘要: 昨天看到一个园友的blog中有个页面下滚后出现用于"回到页面顶部"按钮的效果, 感觉挺不错的, 所以自己也写了一个, 用jQuery写是再简单不过了. 下面就直接给出代码了 .scroll-up { background: #dcdcdc url('up.png') no-repeat center center; width:48px !important; /*for ff and other standard browser*/ height:48px !important; _width: 58px; /*for IE6 nonstandard bo 阅读全文
posted @ 2011-06-27 23:26 Andy Zhang 阅读(361) | 评论 (0) 编辑
摘要: 任务需要,就写了一个jQuery新闻滚动插件jquery.roller.js,功能相对比较简单,可能往后会加入ajax一段时间轮询 动态加载的功能.下面直接给出源代码,如果需要可以直接下载 ,我在源码里给出了注释,有什么不足之处后或者可以改进的地方, 希望能够大家留言探讨...效果图(比较朴素):;(function($) { $.fn.roller = function(options) { var opts = $.extend({}, $.fn.roller.defaults, options), // 通过循环队列来管理滚动信息 itemQueue ... 阅读全文
posted @ 2011-06-24 20:59 Andy Zhang 阅读(827) | 评论 (3) 编辑
摘要: 有段时间没写什么了, 打算把jquery中的比较常用的数组处理方法汇总一下$.each(array, [callback])遍历,很常用 var arr = ['javascript', 'php', 'java', 'c++', 'c#', 'perl', 'vb', 'html', 'css', 'objective-c']; $.each(arr, function(key, val) { // firebug console c 阅读全文
posted @ 2011-06-20 11:27 Andy Zhang 阅读(1130) | 评论 (2) 编辑
摘要: 正好项目中有个小需求, 要求把表格指定列中内容相同的单元格进行合并,本质上涉及的就是td的rowspan属性, 数出含相同内容单元格的个数, 然后给第一个与上一行内容不同的td其rowspan属性附上正确的值即可, 为了能直观的理解, 效果如下原表格:col0col1col2col3SuZhou1111122222SuZhouCitySuZhou3333344444SuZhouCitySuZhou5555566666SuZhouCityShangHai7777788888ShangHaiCityShangHaiuuuuuhhhhhShangHaiCityShangHaigggggcccccSh 阅读全文
posted @ 2011-04-04 22:13 Andy Zhang 阅读(876) | 评论 (4) 编辑
摘要: 有段时间没写些东西了......参加工作大半年 感觉是收获不小啊 新年以致 在这里我想真心的祝福所有园友 所有有梦想的人 新的一年技术更牛X 身体棒棒 职业发展更上一层 好了 回过来讲主要内容. 在jquery cook book里看到一篇给event handler传递动态参数的文章 感觉挺实用的 跟大家分享下 直接拿例子吧...<body> <div id="demo"></div> <button id="btn" >trigger it</button> <script type= 阅读全文

 

fieldList: this.$refs.tabTable.$refs.field ? this.$refs.tabTable.$refs.field[0].tableData : this.tableDataField || [], // 字段列表 conditionList: this.$refs.tabTable.$refs.sql ? this.$refs.tabTable.$refs.sql[0].tableData : this.tableDataSql || [], // 过滤条件 sequenceList: this.$refs.tabTable.$refs.sort ? this.$refs.tabTable.$refs.sort[0].tableData : this.tableDataSort || [], // 字段排序 queryList: this.$refs.tabTable.$refs.filter ? this.$refs.tabTable.$refs.filter[0].tableData : this.tableDataFilter || [], // 查询区 view_order: this.viewOrder, // 视图顺序 module_id: this.addEditParams.module_id, // 功能id status_id: this.addEditParams.status_id, // 状态id table_name: this.addEditParams.table_name, // 表名 bill_type_id: this.addEditParams.bill_type_id, // 单据类型id des_id: this.addEditParams.des_id ? this.addEditParams.des_id : '', // 视图模板id des_alias: this.addEditParams.des_alias ? this.addEditParams.des_alias : '', // 视图别名 resource_code: this.addEditParams.resource_code ? this.addEditParams.resource_code : '', // 资源编码 page_num: this.addEditParams.page_num ? this.addEditParams.page_num : 0, // 每页条数 is_subtotal: this.addEditParams.is_subtotal ? this.addEditParams.is_subtotal : 0, // 是否小计 }; objSub.fieldList.forEach((it) => { it.is_format = it.is_format ? 1 : 0; it.is_visible = it.is_visible ? 1 : 0; it.is_total_items = it.is_total_items ? 1 : 0; it.is_primary = it.is_primary ? 1 : 0; return it; }); 优化以上代码
最新发布
07-14
要优化以上代码,可以使用数组的 `map` 方法来遍历并修改 `fieldList` 数组中的每个对象。同时,可以使用逻辑或运算符 `||` 来简化对可能为空的变量的赋值操作。以下是优化后的代码示例: ```javascript const fieldList = this.$refs.tabTable?.$refs.field?.[0]?.tableData || this.tableDataField || []; const conditionList = this.$refs.tabTable?.$refs.sql?.[0]?.tableData || this.tableDataSql || []; const sequenceList = this.$refs.tabTable?.$refs.sort?.[0]?.tableData || this.tableDataSort || []; const queryList = this.$refs.tabTable?.$refs.filter?.[0]?.tableData || this.tableDataFilter || []; const objSub = { fieldList: fieldList.map(it => ({ ...it, is_format: it.is_format ? 1 : 0, is_visible: it.is_visible ? 1 : 0, is_total_items: it.is_total_items ? 1 : 0, is_primary: it.is_primary ? 1 : 0 })), conditionList, sequenceList, queryList, view_order: this.viewOrder, module_id: this.addEditParams.module_id, status_id: this.addEditParams.status_id, table_name: this.addEditParams.table_name, bill_type_id: this.addEditParams.bill_type_id, des_id: this.addEditParams.des_id || '', des_alias: this.addEditParams.des_alias || '', resource_code: this.addEditParams.resource_code || '', page_num: this.addEditParams.page_num || 0, is_subtotal: this.addEditParams.is_subtotal || 0 }; // 打印优化后的对象 console.log(objSub); ``` 在优化后的代码中,我们使用了可选链操作符 `?.` 来避免访问可能为空的变量时出现的错误。我们还使用了逻辑或运算符 `||` 来简化对可能为空的变量的赋值操作。对于 `fieldList` 数组,我们使用了 `map` 方法来遍历并修改每个对象的属性。最后,我们输出了优化后的 `objSub` 对象。 请注意,上述代码使用了 ES6+ 的语法,确保你的开发环境支持这些语法特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值