The object nature of functional programming in JavaScript:
function a()
{
var x="sth";
return b(){
//do with x;
}
}
var c = a();
is equivalent to
function a()
{
this.x = "dosth";
this.b = function(){
// do with this. Avoid the construction of useless objects
Because functional programming encourages calling closure construction when a closure is used
while object-oriented usually constructs objects in advance and prepares them there
2) Functional programming protection Private variables
x will not be accessed externally except for closures
3) Closures and objects must also pay attention to releasing resources
For example: c = null; setTimeout(CollectGarbage,100);