jQuery的不足之处

使用Jquery有一段时间了,对Jquery轻便、易学易用、方便的DOM操作以及这个框架的设计思想都由衷的赞叹。但是Jquery在设计过程中也有一些不合理的地方(当然,有些东西见仁见智,可能你并不觉得这不合理),今天看到了一篇文章,觉得写的挺有道理的,我做了一下整理。并不是说Jquery 很差,让大家不要用,而是通过这些内容来更好的了解和使用jQuery。

1.each工具的回调函数参数的设计。

jQuery.each(obj,callback)

通用遍历方法,可用于遍历对象和数组。
不同于遍历 jQuery 对象的 $().each() 方法,此方法可用于遍历任何对象。回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。 如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。
很明显,这个参数的设计不合理。应该将参数的顺序对调。原因很简单,通常做遍历的时候,我们只需要获取当前对应的变量或内容就可以了,大多数情况下是不需要索引的。如果索引参数在后面,在不使用的情况下就可以省略。也许你觉得我在鸡蛋里面挑骨头,你看看jQuery的另外一个工具的设计就清楚了:

jQuery.grep(array,callback,[invert])
这个工具是对对象和数组做遍历用的,但是这个工具的callback函数的两个参数中第一个为对应变量或内容,第二个为对象的成员或数组的索引。正好与jQuery.each相反。

2.this指针的变换

在jQuery中this指针的变换是非常频繁的,可能稍不留神,就会出错。特别是在OO编程的时候。例如:

function Dog(){
        this.name="旺财";
}

Dog.prototype.eat=function(){
        $("div").click(function(){
                  alert(this.name+"在啃骨头");
         });
};

你会发现这段代码并不会像你想象的那样执行,因为this指针已经变换,指代的是当前的div对象,而不是Dog的实例。

3.jquery.inArray(value,array)工具的设计

就字面意思来说,这个函数应该返回true or false,事实上返回的是value在array第一次出现的位置。若不存在,返回-1。若你当作true或false来处理,就郁闷了,-1是true。

4.对OO的支持不够

jquery的DOM操作的支持很好很强大,但在OO方面却没有做任何工作。而且,就jQuery的编码风格也和OO有点格格不入。而其他框架如prototype,MooTools都有比较好的支持。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值