Вивчаємо coffeescript. Функції.
Всім привіт! У цій статті ми поговоримо про те, як створювати і використовувати функції в мові програмування coffeescript.
Отже, давайте напишемо функцію вітання спочатку на jаvascript, а потім на coffeescript, щоб ви відразу побачили різницю.
Відео: Вивчаємо PHP | Урок №22 - Строкові функції
var greet-
greet =function(name){
return`Hello,`+ name +`!`-
} -Та ж сама функція в coffeescript буде виглядати ось так:
greet =(name)-gt;`Hello, # {name}!`Як бачите, все значно простіше. Спочатку в круглих дужках йдуть аргументи, потім стрілочка, потім тіло функції. Якщо ж вам не потрібні аргументи, то ви взагалі можете не писати їх, і тоді функція буде виглядати ось так:
greet =-gt;`Hello, Sergey!`У скомпільованому jаvascript ви можете побачити, що функція завжди повертає значення останнього виразу. Тобто в нашому випадку з привітанням вона буде виглядати так:
Відео: Курс по Coffeescript. Функції. 05
var greet-
greet =function(name){
return`Hello,`+ name +`!`-
} -Хоча ми ніде не писали ключового слова return в coffeescript! Давайте тепер змінимо функцію в coffeescript і подивимося, що вийде в скомпільованому jаvascript, щоб це все було наочніше
greet =(name)-gt;
do updateSomething
do changeSomething
`Hello, # {name}!`
do processSomething В результаті отримаємо наступне:
var greet-
greet =function(name){
do updateSomething() -
do changeSomething() -
`Hello,`+ name +`!`-
return processSomething() -
} -Насправді, це ні на що не впливає, ви можете просто ігнорувати це повернення, якщо він вам не потрібен. Однак, якщо все-таки вам дуже потрібно прибрати його з скомпільованого коду, то просто додайте порожній return в кінці.
greet =(name)-gt;
`Hello, # {name}!`
returnПриродно, ви можете прописувати стандартні значення для аргументів точно так же, як і в jаvascript
greet =(name =`Sergey`)-gt;`Hello, # {name}!`Тепер поговоримо про те, що робити, якщо наша функція повинна приймати невизначену кількість аргументів. В jаvascript для цього використовується об`єкт arguments, в coffeescript ж все набагато простіше.
normalize =(length, vectors...)-gt;`Something here ...`Як ви можете бачити, все, що нам потрібно зробити, це просто додати три точки, що означатиме, що всі наступні аргументи після другого будуть записані в масив vectors.
Тепер про областях видимості: var писати не потрібно, всередині функції будь-яка змінна вважається локальної в тому випадку, якщо змінна з таким ім`ям не була оголошена раніше.
outer =10
func =-gt;
outer =10
inner =10
returnВ результаті отримаємо наступне:
var func, outer-
outer =10-
func =function(){
var inner-
outer =10-
inner =10-
} -Викликати функції можна без круглих дужок. При вкладених виклики параметри будуть обертатися справа наліво.
Відео: Основи програмування. Вивчаємо анонімні функції і jаvascript
show()// show ()
do show // show ()
show update object// show (update (object)) Тепер розглянемо анонімні самовизивающіеся функції. Як ви вже знаєте, всі функції в coffeescript анонімні і все, що вам потрібно зробити, щоб отримати анонімну самовизивающуюся функцію, як в мові jаvascript, це написати попереду ключове слово do
do-gt;do something В результаті отримаємо наступне:
(function(){
return something() -
}) () -Отже, на цьому все! Дякую за увагу!
Що таке замикання в jаvascript.
Nodejs. Як працюють function expression.
Стрілочні функції в es6.
Вивчаємо coffeescript. Цикли.
Вивчаємо coffeescript. Умови.
Нові функції в php 5.5.
Створення функцій в jаvascript
Вивчаємо coffeescript. Оператори.
Вивчаємо sass. Міксини.
Вивчаємо coffeescript. Вступ.
Вивчаємо coffeescript. Класи.
Створення функцій в php
Аналог str_replace () в jаvascript
Методи для роботи з масивами в es5.
Об`єкт object в jаvascript
Відмінності між function declaration і function expression в jаvascript.
Анонімні, або лямбда-функції в php.
Об`єкти, прототипи і конструктори в мові jаvascript.
Вивчаємо coffeescript. Типи даних.
Створення динамічної функції на php
Створення об`єктів в jаvascript
Вивчаємо coffeescript. Вступ.
Стрілочні функції в es6.
Створення динамічної функції на php
Відмінності між function declaration і function expression в jаvascript.
Вивчаємо coffeescript. Типи даних.
Вивчаємо sass. Міксини.
Вивчаємо coffeescript. Цикли.