(jQuery,YUI)哪一个适合我?

 

从前段时间一不小心从某开源网站上看到某人狂喷jQuery开始,到现在在淘宝的UED上看到使用YUI与jQuery的争辩,我一直在思考到底jQuery怎么了,貌似被一大堆人鄙视。

1:首先jQuery不是表面看的那么简单。对他造成误导的关键或许是jQuery官方文档造成的失误,他过于强调简单,以至于初学者导致了强耦合。

举个例子:

在jQuery官方文档上有下面一段代码

$('#other').click(function() {
  $(this).addClass('cccc');
});
如果在YUI的文档上则会告诉你,应该像如下形式写

var callback=function(e){
    var self=$(e.currentTarget);
    self.addClass('cccc');
}
$('#other').click(callback);
或许下面的写法更合适一点,至少在callback可以重复利用的时候,他派上了用场。

2:看到某人关于$.ajax的质疑,提出的观点为$.ajax的缺少send的方法,即如果使用$.ajax就会自动发送请求。

其实你可以把$.ajax当做send方法使用。

var o={
    url:'list.action',
    dataType:'json',
    data:{},
    success:callback
};
var callback={};

$.ajax(o);
某人居然还说下面的写法什么玩意,我真的不明白这样写有什么不好?难道是因为多写了url,success这些参数的名称?

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});
这样做的好处是我不需要记住参数的顺序,如果你想方便,当然可以使用简便的方法

$.post('ajax/test.html',data,callback,'json');

3:jQuery只是提供了一个库,你怎么可以强求他是万能的,他当然不如YUI的组件丰富,但是你能对一个100Kb的库抱怨什么呢?最好的方式就是你可以基于jQuery开发一套属于自己的UI。

因为只有你自己最明白什么才是适合自己的,什么才是自己需要的。经常看到网络上有种言论:“不重复发明轮子”,其实我自己对这个还是持不赞同的态度。我承认或许别人写的很完善,但是如果你不去尝试下,又怎么能明白自己的差距在哪里,而当你使用别人的东西的时候,突然发现这个东西不是适合自己的时候,又不得已去阅读其源码乞求自己可以慢慢的将其改成适合自己的东西,劳神劳力的同时还不如自己发明个适合自己的“轮子”。当然这并没有什么意思,只是抱着一种学习的态度去看食物,阅读大师的代码,总是不自觉的兴奋,惊叹牛人的思维,更加感到自己的渺小,其实错不在jQuery,在于使用jQuery的大部分人的水平有限吧~~当然我也是大部分人中的一个,可是没有关系吧,慢慢成长吧,怎么可以奢望一口吃个胖子呢!!

 

 

 

posted @ 2010-12-01 18:27  FED@Web  阅读(1846)  评论(5编辑  收藏  举报