что значат подобные записи вызова функций: foo()(); или foo(1)(3)(5); ?
встретились вот, поиск и обращение к сокурсникам дало результат - это самовызывающиеся функции. но насколько я знаю самовызывающиеся функции это нечто иное? подскажите, как эта запись вообще называется что бы найти по ней информацию! спасибо
|
ogurchik,
http://forwebdev.ru/javascript/chaining/ |
спасибо, про цепочки методов знаю, но по-моему это немного не то, нет? тут о чистом js речь идет, о вот таком необычном вызове функции.
|
рони,
нет, это не цепочки методов, т.к. тут, собственно, этих методов и нет. ogurchik, этот шаблон, если не путаю, называется каррирование. function foo(a) { return function(b) { return function(c) { return a + b + c; } } } var a = foo(1)(1)(1); alert(a); |
Safort,
спасибо! очень помогли! |
На ES6 выглядит лучше
let a = (a) => { return b => { return c => { return a + b + c; } } } let q = a(1)(1)(1); |
Цитата:
let foo = (a) => (b) => (c) => a + b + c; console.log(foo(1)(2)(3)); а вообще http://learn.javascript.ru/task/summ...chestva-skobok |
nerv_,
блин, чот ступил, действительно можно гораздо лаконичней) |
Цитата:
let foo = a => b => c => a + b + c; :) |
Часовой пояс GMT +3, время: 22:07. |