Livescript 학습
11593 단어 JavaScriptLiveScript
비 폐쇄 함수
-> #
(x, y) -> x + y #
do-return = (x, y) -> x * y # doReturn return x * y
no-return = (x, y) !-> x * y # noReturn x+2
function func-name then 2 # function, ; 2
!function func-name then 2 # ! 2
times = (x, y, z) --> x * y * z #
패키지 함수: 일반 이름 함수 앞에서 사용 할 수 있 습 니 다 ~;익명 함수 사용 가능 ~ >;코 리 함수 에 사용 ~ ~ >
~function add x, y
@result = x + y # this
## :var this$ = this;
## function add(x, y){
## return this$.result = x + y;
## }
obj = new
@x = 10
@normal = -> @x #
@bound = ~> @x #
2. 함수 호출
단순 호출
f! #
Math.pow x, 3 # x 3
do function f x
x # f
$ \h1 .find \a .text! # $('h1').find('a').text();
func do
a: 1
b: 2 # ; func {x: 1, y: 2}
3 `add` 4 # ‘`’ ; add(3, 4) --
g = (a, b) -> f ... # -- f.apply(this, arguments);
빠 른 호출: 고급 함수 에 적용 되 며, map 또는 filter 와 같은 - (obj.) 속 기 는 (it) - > obj [it] 입 니 다.
map (.length), <[ hello there you ]>
## :map(function(it){ return it.length; }, ['hello', 'there', 'you']);
filter (.length < 4), <[ hello there you ]>
## :filter(function(it){ return it.length < 4; }, ['hello', 'there', 'you']);
3. 매개 변수 에 대하 여
일부 특수 매개 변수 호출
set-person-params = (person, person.age, person.height) -> person #
set-text = (@text) -> this # @ this
add = (x = 4, y = 3) -> x + y #
add = (x && 4, y || 3) -> x + y # x && 4 x null 4
set-cords = ({x, y}) -> "#x,#y"
# , string : x + "," + y; set-cords = ({x = 1, y = 3} = {}) -> "#x,#y" = {} null
f = (x, ...ys) -> x + ys.1 # ; x , ys
----- -----
f = (!!x) -> x # x bool
g = (+x) -> x # x
h = (^^x) -> x.prop = 99; x # x
----- it -----
f = -> it + 2
----- '&' argument -----
add-three-numbers = -> &0 + &1 + &2
## :var addThreeNumbers = function(){
return arguments[0] + arguments[1] + arguments[2];
};
4. 코 리 함수
커 리 함수: n 매개 변수의 함 수 를 매개 변수 < n 의 함수: - > 로 정의 할 수 있 습 니 다.
----- '~~>' -----
times = (x, y, z) --> x * y * z
next-one = times 2 4 # x = 2,y = 4
next-one 5 # 2 * 4 * 5 = 40
times 2 2 2 # , 8
5. let 와 new 에 대하 여
let 는 (function (a) {...}. call (this, b) 의 줄 임 말 입 니 다.
let $ = jQuery
$.isArray []
## :(function($){
## $.isArray([]);
## }.call(this, jQuery));
------ @-----
x = let @ = a: 1, b: 2
@b ^ 3
## :var x = (function(){
## return Math.pow(this.b, 3);
## }.call({ a: 1, b: 2 }));
new 는 new 새 대상 을 사용 하 는 것 과 같 습 니 다.
dog = new
@name = \spot
@mutt = true
## : var dog = new function(){
## this.name = 'spot';
## this.mutt = true;
## };
6. 리 턴 함수
반전 함수;정상: < - 폐쇄: < ~ 코 리 함수: < - 코 리 함수 폐쇄: < ~ ~
data <-! $.get 'ajaxtest'
$ '.result' .html data
## :$.get('ajaxtest', function(data){ $('.result').html(data); });
# : $.get('ajaxtest') data,
# data ( ) : $ '.result' .html data
7. 부분 적용
부분 적용: 사용 가능apply 함 수 를 대표 합 니 다.
filter-nums = filter _, [1 to 5]
filter-nums even # [2,4]
# ls
# :_ apply , even filter ( ) ;
----- , >> , -----
[1 2 3]
|> par-func = _.map _, (* 2) # [1, 2, 3]; : [2, 4, 6]
par-func [3 4 5] # [3, 4, 5]; : [6, 8, 10]
par-func #
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.