一、函数
1、含义:盛放代码的容器
2、声明函数的方式:3种
1)函数声明
关键字 function
function 函数名(){
//存放的代码
}
2)函数表达式
先声明一个变量
然后将函数赋值给变量
例如:
var box=function(){
//存放的代码
}
3)ES6提供:后期补充
注意凡是函数里面的代码不直接执行
3、调用函数的方法
1)函数调用
函数名()
调用一次执行一次,重复调用不覆盖
最大作用:可反复执行
2)事件调用
标签.onclick=函数名
3)关键字reture
特点:1、后面跟的值自定义,可以与函数内执行代码相关,也可以不相干; 决定函数的调用结果
2、终止后继代码执行
二、变量
1、全局变量:没有被函数包裹的变量
使用范围:在任何地方都能使用和修改
2、局部变量:被函数包裹的变量
使用范围:只能在该函数内执行,函数之间相同命名不会产生冲突
var box=2;//全局变量
function fn(){
var c=1;//局部变量
}
3、作用域:js的作用范围【以函数来划分作用域】
就近原则
4、作用域链:单项流通,作用域连接通道
只能从里到外找,不能从外往里找(小范围找大范围)
5、局部函数:被函数包裹的函数
在大函数范围外不能被调用
事件外不能调用事件内的函数
相关知识代码执行:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button type="button">点击</button>
<script type="text/javascript">
var btn=document.querySelector('button');
function fn(){
console.log(344444);
console.log(4444)
var c=3;
c++;
//结果与执行内容无关
// return '函数结果';
//结果与执行内容有关
// return c;
}
//调用函数方法2,事件
// btn.onclick=fn;
//调用函数方法1
// var a=fn();
// console.log(a)
//
var a=2;
function f1(){
var b=4;
b=a+b;
console.log(b)
function f3(){
//局部函数
console.log(1111)
// return 'dddd';
}
var g=f3();
console.log(g)
}
// var g=f3();
// console.log(g)
var d=f1();
console.log(d)
// a=a+b;//因为b是局部变量,所以会报错
function f2(){
var b=4;
b=a+2;
console.log(b)
return b;//局部变量之间命名不冲突
//没有设置return;默认函数调用后为undefined
}
var e=f2();
console.log(e)
</script>
</body>
</html>