Livescript语法随记

来源:互联网 发布:三国演义怀旧剧场源码 编辑:程序博客网 时间:2024/04/28 01:22

一,数组。

1,使用 * 隐式声明数组。

numbers =   *1  *2  *3

相应的javascript代码是:

var numbers;numbers = [1, 2, 3];

也可以隐式声明对象数组。

tmp =   *name: 'a', id: 1  *name: 'b', id: 2  *name: 'c', id: 3  *name: 'a', id: 4

相应的javascript代码是:

var tmp;tmp = [{name: 'a', id: 1}, {name: 'b', id: 2}, {name: 'c',    id: 3}, {name: 'a', id: 4}];

2,字符串数组的简写形式。

<[hello world !]>

对应的javascript代码是:

['hello', 'world', '!'];

3,数组自带的filter,sort函数。

(1)filter函数。
tmp.filter -> it.name is 'a'

对应的javascript代码是:

tmp.filter(function(it){  return it.name === 'a';});

使用之前的tmp数组,得到的结果是:

[{"name":"a","id":1},{"name":"a","id":4}];
(2)sort函数。
tmp.sort (a, b) -> a.name > b.name

相应的javascript代码是:

tmp.sort(function(a, b){  return a.name > b.name;});

使用之前的tmp数组,得到的结果是:

[{"name":"a","id":1},{"name":"a","id":4},{"name":"b","id":2},{"name":"c","id":3}];

4,对一个数组中的各项进行操作。

fn = (item) ->  item.score = 100;  item[fn item for item in tmp]

相应的javascript代码是:

var fn, i$, ref$, len$, item;fn = function(item){  item.score = 100;  return item;};for (i$ = 0, len$ = (ref$ = tmp).length; i$ < len$; ++i$) {  item = ref$[i$];  fn(item);}

使用之前的tmp数组,得到的结果是:

[{"name":"a","id":1,"score":100},{"name":"b","id":2,"score":100},{"name":"c","id":3,"score":100},{"name":"a","id":4,"score":100}];

参考资料:
Livascript官方文档

0 0
原创粉丝点击