成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

當(dāng)jQuery遭遇CoffeeScript——妙不可言

開發(fā) 前端
雖然對ruby不太了解,但是看到CoffeeScript詩一般的代碼確實(shí)被怔住了,和jQuery之前給我的感覺是如此的相似——都是一個字,美,當(dāng)jQuery遭遇到CoffeeScript時,會蹦出什么樣的火花呢?

雖然對ruby不太了解,但是看到CoffeeScript詩一般的代碼確實(shí)被怔住了,和jQuery之前給我的感覺是如此的相似——都是一個字,美,當(dāng)jQuery遭遇到CoffeeScript時,會蹦出什么樣的火花呢?

當(dāng)我多年前初次接觸jQuery時我感覺我來到了程序員的天堂。它極大簡化了DOM操作。函數(shù)式編程變得如此容易,盡管更多適合RIA開發(fā)的框架近年來在浮現(xiàn),但是我仍舊無法想象一個沒有jQuery的程序人生是多么的罪惡,相信你也有同感~

而來到CoffeeScript的世界,同樣的美妙故事再次上演。在寫了幾行代碼后我相信你將不會再想念原生的Javascript了。CoffeeScript包含了許多新特性,當(dāng)將它與jQuery結(jié)合時,你會發(fā)現(xiàn)一片新天地。

51CTO推薦專題:jQuery從入門到精通

本文的目的就在于展示CoffeeScript和jQuery協(xié)同工作時美妙場景。

像老板一樣指揮你的代碼

CoffeeScript提供了一堆酷斃了的數(shù)組迭代方法。最好的事莫過于這不僅僅能工作于數(shù)組,還能工作于jQuery對象了。來行詩一般的代碼吧:

  1. formValues = (elem.value for elem in $('.input')) 

這行代碼將會被翻譯為如下的Javascript:

  1. var elem, formValues;  
  2. formValues = (function() {  
  3.   var _i, _len, _ref, _results;  
  4.   _ref = $('.input');  
  5.   _results = [];  
  6.   for (_i = 0, _len = _ref.length; _i < _len; _i++) {  
  7.     elem = _ref[_i];  
  8.     _results.push(elem.value);  
  9.   }  
  10.   return _results;  
  11. })(); 

老實(shí)說最初這樣寫代碼確實(shí)讓人提心吊膽的,但是一旦你開始擁抱CoffeeScript的魔法時,你會愛上它的。

飛一般的方法綁定

在jQuery的回調(diào)中使用"=>"將會大大減省你手動綁定方法到對象的麻煩。還是來看段代碼吧:

  1. object =  
  2.   func: -> $('#div').click => @element.css color: 'red' 

下面是編譯輸出的Javascript:

  1. var object;  
  2. var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };  
  3. object = {  
  4.   func: function() {  
  5.     return $('#div').click(__bind(function() {  
  6.       return this.element.css({  
  7.         color: 'red' 
  8.       });  
  9.     }, this));  
  10.   }  
  11. }; 

代碼中的@element指向了一個jQuery的對象,該對象是在其他地方指定的——比如object.element = $('#some_div').

任何使用"=>"所指定的回調(diào)函數(shù)都會自動綁定到原來的對象上,沒錯,這很酷。

在2011年函數(shù)是這樣調(diào)用的

瞅一眼這個:

  1. $.post(  
  2.   "/posts/update_title" 
  3.   new_title: input.val()  
  4.   id: something  
  5.   -> alert('done')  
  6.   'json' 

使用CoffeeScript,多個參數(shù)可以寫成多行來調(diào)用,逗號和大括弧是可選的,這使得一些jQuery中簽名比較長的方法比如$.post() 和 $.animate() 等更加易讀。這兒還有一個例子:

  1. $('#thing').animate  
  2.   width: '+20px' 
  3.   opacity: '0.5' 
  4.   2000  
  5.   'easeOutQuad' 

很美味的Coffee不是嗎?要注意第一個參數(shù)是一個匿名的對象,你甚至可以省略調(diào)用函數(shù)的元括弧。

讓初始化來的更性感吧

我最初開始使用jQuery時我是這樣做頁面初始化的:

  1. $(document).ready(function() {  
  2.   some();  
  3.   init();  
  4.   calls();  
  5. }) 

CoffeeScript和新版的jQuery使得上面的代碼進(jìn)化的如此性感:

  1. $->  
  2.   some()  
  3.   init()  
  4.   calls() 

函數(shù)定義語法在CoffeeScript里本身已經(jīng)非常酷了,能在上面這些場合使用使得其更酷了。你會發(fā)現(xiàn)所有需要回調(diào)的函數(shù)調(diào)用在CoffeeScript中都是如此簡單。

更多關(guān)于CoffeeScript請?jiān)L問其官網(wǎng)

注:已經(jīng)有一本關(guān)于CoffeeScript的書在七月發(fā)行了,其中有一整章的內(nèi)容是關(guān)于jQuery的。

原作:How CoffeeScript makes jQuery more fun than ever—— Stefan Buhrmester

翻譯:filod

轉(zhuǎn)載聲明:請注明原作者、翻譯者以及譯文鏈接。

【編輯推薦】

  1. Web開發(fā)者愛不釋手的18款超贊jQuery插件
  2. jQuery給力插件大閱兵
  3. 25個超棒的jQuery日歷和日期選取插件
  4. 從零開始學(xué)習(xí)jQuery之讓頁面動起來
  5. 分享10個超炫的jQuery網(wǎng)站
責(zé)任編輯:陳貽新 來源: filod
相關(guān)推薦

2022-08-04 06:57:54

CSS拼圖游戲

2013-09-10 09:31:43

云計(jì)算成本云計(jì)算運(yùn)維成本云計(jì)算現(xiàn)金流

2012-03-21 21:38:27

蘋果

2017-10-13 22:54:10

服務(wù)器

2023-04-13 21:59:44

ChatGPT聊天機(jī)器人

2011-03-22 17:29:41

LAMPWindowsAMP

2015-10-23 09:23:38

數(shù)據(jù)中心經(jīng)濟(jì)移民

2015-04-23 09:34:18

CoffeeScripJavaScript開

2010-07-26 15:32:08

Perl腳本語言

2010-07-26 15:55:51

Perl腳本語言

2013-07-23 14:55:31

設(shè)計(jì)師HTML5

2011-08-03 11:08:27

HTML 5

2017-06-01 14:13:15

圖片優(yōu)化PSSEO

2010-05-05 17:27:04

Windows PhoOffice Mobi

2014-04-03 16:50:28

CactiNagios監(jiān)控

2010-10-26 11:22:26

2010-04-23 09:16:13

電信云CTO

2009-04-21 18:52:39

2011-04-18 09:03:22

2011-08-04 10:56:44

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲欧美日韩在线不卡 | 国产在线播放一区二区三区 | 国产精品999| 成人做爰www免费看视频网站 | 一区二区av在线 | 成人国产在线观看 | 黄色网址在线免费观看 | 免费黄色片在线观看 | 国产一二三视频在线观看 | 久久爱综合| 一区二区三区不卡视频 | 米奇成人网 | 成人免费在线视频 | 一区二区三区影院 | 亚洲欧美aⅴ | 日韩综合 | 国产精品毛片 | 成人久久久 | 免费一区二区 | 91免费看片 | 国产精品18hdxxxⅹ在线 | 操视频网站 | 亚洲国产一区二区三区, | 国产精品成人一区二区 | 国产视频1区2区 | 亚洲精品视频免费观看 | 国产四区| 午夜三级网站 | 亚洲毛片在线观看 | 国产精品日韩欧美 | 国产无套一区二区三区久久 | 亚洲高清网 | 99久热在线精品视频观看 | 亚洲精品电影网在线观看 | 中文字幕电影在线观看 | 亚洲一区二区三区视频在线 | 国产观看| 午夜99| 国产一区二区三区四区 | 奇米影视在线 | 久久久不卡网国产精品一区 |