第三章 Functions are fundamental
3.1 What's with the functional difference?
functions are objects.
Objects具有下列属性:
- can be created via literals
- 可以被赋值给某个变量
- 可以作为参数传递给functions
- 可以作为函数的返回值
- 可以有属性
functions作为objects具有上述所有属性。此外,funcitons具有一个其他OBJECTS没有的属性 - 它可以被invoked.
The browser event loop
FIFO queue and single-threaded.
An sort example
var values = [213, 16, 2058, 54, 10, 1965, 57, 9];
values.sort();
var values = [213, 16, 2058, 54, 10, 1965, 57, 9];
values.sort(function(value1, value2) { return value2 - value1; });
The functional difference in JavaScript allows us to create a function as a standalone entity, just as we can any other object type (java不允许你这么作。任何方法必须是某个类的一部分), and to pass it as an argument to a nethod, just like any other object type, which can accept it as a parameter, just like any other object type,