function 函数名() {
// 函数体
} 函数名
函数名()demo
<script >
function sayHello(){
console.log("hello js")
}
sayHello()
</script>形式参数 : 在函数声明时, 设置的参数。作用:占位置 ,只能在函数内部使用. 实际参数 : 在函数调用时,传入的参数。 作用 : 函数调用时,会把实参的值赋值给形参, 这样形参就有了值, 在函数体里,,,可以直接使用形参!
//带参数的函数声明
function 函数名(形参1, 形参2, 形参...){
//函数体
}
//带参数的函数调用
函数名(实参1, 实参2, 实参3);计算2个数的和
<script >
function sum(n1,n2){
console.log(n1 + n2)
}
sum(10,3)
</script>函数返回值注意事项:
//声明一个带返回值的函数
function 函数名(形参1, 形参2, 形参...){
//函数体
return 返回值;
}
//可以通过变量来接收这个返回值
var 变量 = 函数名(实参1, 实参2, 实参3);计算2个数结果返回
<script >
function sum(n1,n2){
return n1 + n2
}
var r= sum(10,13)
console.log(r)
</script>匿名函数:没有名字的函数 将匿名函数赋值给一个变量,这样就可以通过变量进行调用
var 函数名 = function(){
//函数体
}<script >
var sum = function (n1,n2){
return n1 + n2
}
console.log(sum(3,13))
</script>自执行(匿名函数自执行1次):第一个括号:匿名函数保护起来,第二个小括号:调用
( 匿名函数)()(function () {
console.log("自执行函数")
})();需要注意匿名函数的分号
<script >
var a = 10;
var b = 20;
b = a;
(function () {
console.log(b);
})();
</script>变量起作用的区域
全局作用域:在script标签内,函数外的区域就是全局作用域,在全局作用内声明的变量叫做全局变量 。全局变量可以在任意地方访问。
函数作用域 :在 函数内的区域 叫做函数作用域,在函数作用域内声明的变量叫做局部变量 ,局部变量只有在当前函数内才能访问到。
全局变量:在函数外,script标签内声明的变量就是全局变量,全局变量在任何地方都能访问的到。
局部变量:在函数中声明的变量,就是局部变量,局部变量只有在当前函数体内能够访问。
隐式全局变量:没有使用var定义的变量也是全局变量,叫做隐式全局变量。
js执行代码分为两个过程:
console.log(num);
var num = 1
console.log(num)预解析过程