Creating Function! Not working Properly

ok you lost me there, sorry but i am very new, i just don't understand why the same code works when it's not put into a function

const int LED = 15;
const int BUTTON = 2;

int val = 0;
int old_val = 0;
int state = 1;

void setup () {

pinMode(LED,OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
}

void loop (){

val = digitalRead(BUTTON);

if( val == HIGH && old_val == LOW) {
state = 1-state;
delay (10);
}

old_val = val;

if ( state == 1)
digitalWrite(LED,HIGH);
else
digitalWrite(LED, LOW);
}