// 1 xx.xxx() xxx()
// 2 new xxx()
// 3: xxx.call() xxx.apply() xxx.bind()()
// 4: 事件触发
// function foo(){
// console.log(‘aaa’)
// };
// // window.foo();
// var obj = {
// foo:foo
// };
// // obj.foo();
// // new foo();
// foo.call(window);
// foo.apply();
// foo.bind()()
// 立即执行函数
// (function(){
// console.log(‘立即执行函数执行了’)
// })()
// (function(){
// console.log(‘立即执行函数执行了’)
// }())
// (function(){
// console.log(‘立即执行函数执行了’)
// }).call()
// (function(){
// console.log(‘立即执行函数执行了’)
// }).apply()
// (function(){
// console.log(‘立即执行函数执行了’)
// }).bind()()
// new (function(){console.log(‘new’)})()
/ 函数执行表达式的运算
// 多个括号的表达式 从左往右运算;等一个运算完才能运算下一个.
// 在这里函数执行完毕(return) ()运算完毕
(function(){
console.log(‘立即执行函数执行了’)
return function(){
console.log(‘返回值中含还是’)
return function(){
console.log(‘第三层’);
}
}
})()()()
(function(){
console.log(‘立即执行函数执行了’)
return function(){
console.log(‘返回值中含还是’)
return function(){
console.log(‘第三层’);
}
}
}).call()()()
(function(){
console.log(‘立即执行函数执行了’)
return function(){
console.log(‘返回值中含还是’)
return function(){
console.log(‘第三层’);
}
}
}).call().apply().bind()()