日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

coffeeScript学习01

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 coffeeScript学习01 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝

  • 這里使用node.js
npm install -g coffee-script # watch and compile coffee -w --output lib --compile src // coffee -w -c index.coffee

語法

  • CoffeeScript不是JavaScript的超集,不能在CoffeeScript程序中寫JavaScript代碼

格式

  • CoffeeScript在編譯時為每條語句加上;

  • CoffeeScript中的注釋采用#

作用域

  • 會自動添加變量聲明‘var’,放到作用域的頂部

賦值

  • 字符串可以用類ruby的語法內嵌
target = "world" alert "hello, #{target}" //注意雙引號 alert "hello" + target
  • 字面量
object1 = one: 1, two: 2 object2 =one: 1two: 2 arr1 = [1, 2] arr2 = [1,2 ]
  • 解構賦值
obj = {a:"foo", b:"bar"} {a, b} = obj arr = [1, 2] [a, b] = arr

數組

  • 數組的操作引入了來自ruby的Range概念,并且可以將字符串完全作為數組操作
numbers = [0..9] //兩個或三個點號 numbers[3..5] = [-3,-4,-5] //替換number 3-5的值;可以是任意個數 my = "my string"[0..1]
  • 判斷一個值是否在數組內
arr = ["foo", "bar"] "foo" in arr
  • for..in語法
for name, i in ["roger", "roderick"]alert "#{i} - Release #{name}"
  • 過濾器when
items = ["ranger", "roderick", "brian"] alert 'ok' for item in items when item is "ranger"
  • 可以用()收集遍歷的結果
items = [{id: 0, name: "ranger"}, {id: 1, name: "roderick"}, {id: 2, name: "brian"}] result = (item for item in items when item.id is 1) //注意前面有個item;以數組形式返回

流程控制

函數

  • CoffeeScript對JavaScript的函數做了很大的簡化
sum = (nums) ->nums.reduce(x, y) -> x + ysum 1,2,3// (function() {var sum;sum = function(nums) {return nums.reduce(x, y)(function() {return x + y;});};sum(1, 2, 3);}).call(this);
  • ->來代替function; 注意前面空一格
  • 參數列表放在->的前邊,且可省略
  • 取消了函數聲明,只能將函數作為值定義
  • 在CoffeeScript中,任何語句都是表達式(除了break和continue),都有返回值,因此像ruby一樣,不需要顯式return
  • CoffeeScript的函數可以有默認參數
times = (a = 1, b = 2) -> a * b
  • CoffeeScript的函數調用可以不用()語法包圍參數,像ruby一樣跟在函數名后面就可以,不過這也有時候會帶來問題,特別是沒有參數的調用

  • 縮進的格式有時需要小心,比如用多個函數做參數的時候

$(".toggle").toggle ->"on" , ->"off"// (function() {$(".toggle").toggle(function() {return "on";}, function() {return "off";});}).call(this);

轉載于:https://www.cnblogs.com/jinkspeng/p/4365117.html

總結

以上是生活随笔為你收集整理的coffeeScript学习01的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。