CoffeeScript学习笔记

CoffeeScript学习笔记
1、为何使用CoffeeScritpgoogle主导了javasctipt的创新,node更是引领了这一波强势回归,但是总体来说javascript的语法过于自由与繁琐,相对python、ruby等现代语言,自然性、易读性都有所欠缺(毕竟javascript是一种老版本语言呀,呵呵),而CoffeeScript恰恰解决了这个问题2、如何安装这比较简单(我的是ubuntu 12.04),首先需要安装node,这个不再这里详细说明,然后直接使用npm -ginstall coffeesctipt即可,或者直接使用sudo apt-get installcoffeesctipt也可以安装哦使用coffee -v可以查看安装的版本3、主要的语法说明3.1、functionname = (param,param2=value)->body主要使用->来区分函数体,同时需要使用缩进来表示函数体范围(雷同python)3.2、coffee自动判断不同使用范围你的变量作用域问题,保证变量安全性问题;3.3、条件语句express if conditionif condisiotnpasselsepassa = if condition then b else c3.4、函数对不定参数的支持==========例子代码=============gold = silver = rest = "unknown"awardMedals = (first, second, others...)-> gold = first silver = second rest = otherscontenders = [ "Michael Phelps" "Liu Xiang" "Yao Ming" "Allyson Felix" "Shawn Johnson" "Roman Sebrle" "Guo Jingjing" "Tyson Gay" "Asafa Powell" "Usain Bolt"]awardMedals contenders...alert "Gold: " + goldalert "Silver: " + silveralert "The Field: " + rest3.5、循环操作--------代码例子------------# Eat lunch.eat food for food in ['toast', 'cheese', 'wine']# Fine five course dining.courses = ['greens', 'caviar', 'truffles', 'roast','cake']menu i + 1, dish for dish, i in courses# Health conscious meal.foods = ['broccoli', 'spinach', 'chocolate']eat food for food in foods when food isnt 'chocolate'countdown = (num for num in [10..1]) #生成数据yearsOld = max: 10, ida: 9, tim: 11ages = for child, age of yearsOld "#{child} is #{age}"# Econ 101if this.studyingEconomics buy() while supply> demand sell() until supply >demand# Nursery Rhymenum = 6lyrics = while num -= 1 "#{num} little monkeys, jumping on thebed. One fell out and bumpedhis head."for filename in list do (filename) -> fs.readFile filename,(err, contents) -> compile filename, contents.toString()3.6、数组切片middle = numbers[3...6] # 不包含6middle = numbers[3..6] # 包含6同样效果可以定义数组arr = [0..10]arr = [0...10]3.7、coffee中的特点是所有地方都是表达式,也就是说都有值(空的话就是null)3.8、操作符问题CoffeeScript JavaScriptis ===isnt !==not !and &&or ||true, yes, on truefalse, no, off false@, this thisof inin no JS equivalent还有扩展的操作符号solipsism = true if mind? and not world?speed = 0speed ?= 15footprints = yeti ? "bear"3.9、类定义------------代码------------class Animal constructor: (@name)-> move: (meters) -> alert @name + " moved#{meters}m."class Snake extends Animal move: -> alert"Slithering..." super 5class Horse extends Animal move: -> alert"Galloping..." super 45sam = new Snake "Sammy the Python"tom = new Horse "Tommy the Palomino"sam.move()tom.move()3.10、swtich----------代码---------------switch day when "Mon" then go work when "Tue" then go relax when "Thu" then go iceFishing when "Fri", "Sat" if day is bingoDay gobingo godancing when "Sun" then go church else go work3.11、try。。。catch。。。==========代码-----------try allHellBreaksLoose() catsAndDogsLivingTogether()catch error print errorfinally cleanUp()3.12、其他特别的三连判断,比较自然,呵呵healthy = 200 > cholesterol >60字符串中显示内容:author = "Wittgenstein"quote = "A picture is a fact. -- #{ author}"sentence = "#{ 22 / 7 } is a decent approximation ofπ"三引号多行字符串tml = """ <strong> cup of coffeescript </strong> """同样三井号多行注释###CoffeeScript Compiler v1.3.3Released under the MIT License###

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/102639.html

更多阅读

中小学教师职业道德规范学习笔记

中小学教师职业道德规范学习笔记一、依法执教。学习和宣传马列主义、毛泽东思想和邓--同志建设有中国特色社会主义理论,拥护党的基本路线,全面贯彻国家教育方针,自觉遵守《教师法》等法律法规,在教育教学中同党和国家的方针政策保持一

伤寒学习笔记(下

伤寒学习笔记---14,桂枝用量问题?学习仲景药法,涉及用量问题。深入考证,固然不必,简单了解,实属必要。仅以桂枝为例,整理如下:基本资料:《现代中医药应用与研究大系》1985年版,简称《大系》。药法:凡例里说:“将其折合今之用量---,并结合笔者临床

关于闪光灯TTL的学习笔记

关于闪光灯TTL的学习笔记(转)俺注:一直对加闪光灯的拍摄比较疑惑,要知道并不是加开个闪光就一了百了的。特别是现在的专业闪灯,有好几种模式,都需要配合相机的测光使用。今天无意之间看到一篇解疑的文章,赶紧收集下来仔细学习。想学习下闪

“Doit,掌控每一天”学习笔记和使用感受

使用感受:学习经历:微信课,4节沪江职场讲座,准备报名参加易仁教主的威海线下活动。以上表明:我对Doit软件学习的决心,不仅仅是因为教主的推荐,更多的是对自我的挑战。参加“沪江网:掌控每一天活动:写感受,拿福利”是我做过的最漂亮的项目类事

声明:《CoffeeScript学习笔记》为网友色混是命分享!如侵犯到您的合法权益请联系我们删除