函数
立即执行函数
函数定义完,会被立即调用,往往只会执行一次,因为没有变量来保存
普通函数
var fun = function(){
alert("普通函数");
}
立即执行函数
(function(){
alert("立即执行函数");
})();
(function(a,b){
console.log(a+b);
})(123,456);//传递参数
作用域
作用域指一个变量的作用范围
全局作用域
直接编写在script标签中的JS代码,都在全局作用域
全局作用域在页面打开时创建,在页面关闭时销毁
在全局作用域中,有一个全局对象window,代表浏览器的窗口,由浏览器来创建,我们可以直接使用
在全局作用域中,创建的变量都会作为window对象的属性保存
var a = 10;
console.log(a);//10
console.log(window.a);//10
//效果一样
创建的函数都会作为window对象的方法
变量的声明提前
使用var关键字声明的变量,会在所有代码执行之前被声明,但是如果声明变量时不使用var关键字,则变量不会被声明提前
函数的声明提前
使用函数声明形式创建的函数function 函数(){ };
,会在所有代码执行之前就被创建,所以可以在函数声明前调用函数
使用函数表达式创建的函数,不会提前声明,所以不能提前调用var fun2 = function(){ };
全局作用域的变量都是全局变量