1.函数:就是一个工具 ,实现一些特定的功能 封装性 复用性 需要调用
2.语法:
function 函数名(形参){工具做的事情}
声明一个函数,后面需要调用
函数括号里面写的叫形式参数 - 形参
在调用函数时传入的叫实际参数 - 实参
注意参数是可有可无的
例:
<script>
function daYinJi(n){
document.write(n)
}
daYinJi(1);
daYinJi('简历')
//输出为 :1 简历
function washer(clothes,laundry){
document.write(clothes + '是被' + laundry + '洗干净的');
}
washer('外套','蓝月亮');
//输出为: 外套是被蓝月亮洗干净的
// 没有参数
function tester(){
alert(1);
}
</script>
3.函数的声明方式:
1.声明式 function 函数名(){}
2.赋值式 var fn = function(){}
3.onclick = function(){} 立即执行的,也就是说不需要再调用一次
4.匿名函数
事件驱动型的函数会自动调用函数
例: btn.onclick = function(){}
注:匿名函数不能先调用再声明
fn() 会报错
var fn = function(n){
console.log(n);
}
fn(4);
//fn(4)放在函数前面的话会报错
5.调用函数的方法
函数名()
函数名(实参)
6.return
结束函数(也就是说写在return下面的语句永远不会执行) – 类似break结束循环
返回值:让外部程序可以调用函数内部的值
例:
<body>
<h1 id="h"></h1>
<script>
function rand(min,max){
var res = Math.round(Math.random() * (max - min)) + min;
return res;
}
h.innerHTML = rand(10,100)
</script>
</body>
注:1.遇到了return函数就会结束
2.函数如果没有写返回值,那么就返回undefined
3.return让外面可以访问函数里面的值
4.标签添加内容使用innerHTML
7.作用域
1.全局变量
2.局部变量
1)如果全局和局部都有同一个变量名,函数会优先选择自己的;
2)如果函数内部没有,就会寻找最近的;
3)关于从来没有声明的变量的问题 — 会直接升级为全局变量
8.js的读取顺序
预编译 var a function整体预编译
执行程序 函数的位置不重要!!!!!!!!调用的位置才是关键
(建议函数放在js的最下面,并且写好注释 — 函数的功能,参数的含义)
9.总结
1.声明一个函数,后面需要调用
2.函数括号里面写的叫形式参数 - 形参
3.在调用函数时传入的叫实际参数 - 实参
4.形参是可有可无的,调用时()不能省略
5.变量需要先声明再调用,此时为局部变量,也可以不声明就直接使用,但会变为全局变量
6.函数可以写在任何位置,可以先调用再声明,也可以先声明再调用
7.事件驱动型的函数会自动调用函数
例:btn.onclick = function(){}
8.匿名函数只能先声明再调用
9.使用建议
1 )把函数丢在最后面
2 )写注释 (函数的功能,变量的类型和作用)