# Funktions
```
author: krm
created: 2023-10-26
status: alpha
```

Ange värdet på utrycket nedan.

# 1. 🎯 function foo(x){return x+1}; foo(1)

- 2

# 2. 🎯 function dubla(x){return 2*x}; dubla(dubla(3))

- 12

# 3. 🎯 let aoo = (x,y) => (x+1)*y; aoo(3,5)

- 20

# 4. 🎯 typeof function(){}

- function

# 5. 🎯 let boo = x => x*x*x; typeof boo

- function

# 🪧 Vi leker med funktioner

```js
function add(x,y) {
    let result = x+y
    console.log(x + "+" + y + " = " + result);
    return result;
}

function mult(x,y) {
    let result = x*y;
    console.log(x + "*" + y + " = " + result);
    return result;
}
```

## 6. 🎯 add(add(1,2),add(3,4))

- 10

## 7. 🎯 add(mult(add(3,3),3),3)

- 21

## 8. 🎯 Utskriften av: add(mult(add(3,3),3),3)

- 3+3 = 6\n6*3 = 18\n18+3 = 21\n

# 🪧 Vi leker mer med funktioner

```js
function cost(p,r,h) {
    return p*r*r*cost.pi*h;
}

cost.description = "A function to calculate cost of a cylinder";
cost.pi = 3.14;
```

## 9. 🎯 cost.description

- A function to calculate cost of a cylinder

## 10. 🎯 cost(1,1,1)

- 3.14 

## 11. 🎯 cost.pi*2

- 6.28

## 12. 🎯 cost(1/Math.PI,1,1)

- 0.9994930426171028

# 13. 🤔 Implmentera en funktion som tar ett tal som argumnet och returnärar ett värde som är fem gånger så stort. 

# 14. 🤔 Implmentera en arrow funktion som tar ett tal som ett argumnet och returnärar ett värde som är hälften så stort.
