JS函数、变量作用域
函数参数
函数的()中指定一个或多个形参(形式参数),多个形参之间用,号隔开,声明形参相当于在函数内部声明了对应的变量,但不赋值。在调用时在()中指定实参
调用时解析器不会检查实参类型、数量,实参可以是任意的数据类型。
函数返回值
使用return来设置函数的返回值,作为函数的执行结果来返回
return后可以跟任意类型的值
语法:return 值
function sum(a,b,c){
var d = a + b + c;
return d;
}
var result = sum(1,2,3);
立即执行函数
(function(a,b){
console.log("a = "+a);
console.log("b = "+b)
}(xxx,xxx));
方法
函数也可以称为对象的属性,如果一个函数作为一个对象的属性保存,那么这个函数称为这个对象的方法
枚举对象的属性
使用for...in语句,对象中有几个属性,循环就执行几次,每次执行,都会将对象中的一个属性的名字赋值给变量
语法:for(var 变量 in 对象){
}
作用域:变量的作用的范围。
全局作用域
- 直接写在
<script>
标签的JS代码,都在全局作用域
--在打开是创建,在关闭时销毁 - 全局作用域有一个对象Window,可以直接使用
- 全局作用域,创建的变量都会作为Window对象的属性保存,创建的函数作为Window的方法保存。
变量声明提前
使用var关键字声明的变量,会在所有的代码执行之前被声明(但不会赋值),如果不适用var关键字,则变量不会被声明提前
函数声明提前
使用函数声明形式创建的函数function函数(){}
,会在所有的代码执行之前被创建
//会被提前
function fun(){
console.log("xxx");
}
//不会被提前
var fun2 = function(){
}
有些压力总是得自己扛过去,说出来就成了充满负能量的抱怨。寻求安慰无济于事,还徒增了别人的烦恼。而但你独自走过艰难险阻,一定会感谢当初一声不吭要牙坚持这的自己。没人在乎你怎样在深夜痛苦,也没人在乎你辗转反侧要熬过几个秋。外人只看结果,自己独撑过程。等我们都明白了这个道理,便不会再在人前矫情,四处诉说以求安慰。