论坛首页 Web前端技术论坛

基本的封装---Ajax之一

浏览 18175 次
该帖已经被评为精华帖
作者 正文
   发表时间:2011-01-19  
ll584310793 写道
如果进行像你这样进行封装的话,还需要用jquery吗?你个人觉得那个会更快呢?


很好很强大 jQuery稍微显得笨重了,其实用的只是简单的功能
0 请登录后投票
   发表时间:2011-05-27  
clue 写道
LZ发的帖都很实在...

不过上面的代码有个问题,我以前也常犯,调试过几次就印象深刻了:
// ...
		function fn(){}
		var async   = opt.async 	|| true, // 这句话有问题
			method  = opt.method 	|| 'GET',
//...


你的代码在这里会使async永远为true

可以有以下几种改法,都是比较常用的:
// 1. 默认为true,只有传入false才真正为false
async = opt.async !== false;
// 2. 判断是否有传值,然后转为boolean型
async = typeof opt.async !== "undefined" ? !!opt.async : true;
// 3. 使用hasOwnProperty判断
async = opt.hasOwnProperty("async") ? !!opt.async : true;


第1种很精简,Ext源码中有不少。
第2种很直观(Ext中常用Ext.isDefined判断)
第3种最深入,还能无视原型的干扰,只处理直属属性。

一般第1种就够用了。



讲的不错,LZ那样确实容易出现问题
0 请登录后投票
   发表时间:2011-05-30  
不理解好在哪里
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics