1. 什么是函数?
为完成某一功能的程序指令(语句)的集合, 执行特定任务的语句块,提高程序的重用程度
2. 方法的定义
function 函数名(){}
3.方法的调用
函数名()
01:js直接调用
02:html事件属性中调用
03:在dom1事件调用
var btn = document.querySelector("button");
btn.onclick = fun;//不需要括号
04:在dom2级 addEventListener(type,fun)
05:函数中调用函数 function play(){check();
4. 方法的参数
形式参数
必选位置参数
可选参数(默认参数)
可变个数参数(省略参数)
实际参数
function add(){
console.log(arguments,arguments.length,arguments[3]);
var sum = 0;
for(var i= 0;i<arguments.length;i++){
sum += arguments[i];
}
alert(sum);
}
add(1,2,3,4,5)
————————————————
5.方法的返回值
有返回
无返回
作用:返回上级调用者
function add(a,b){
return a+b;//函数执行完,返回参数的结果
}
var re = add(2,3);
console.log(re);
6. 局部变量和全局变量
全局变量 : 定义在方法外部的, 其他方法公共访问和修改
局部变量: 定义在方法内部的,只在当前方法中访问和修改
7.匿名函数
没有名的函数
用法:作为参数传递,直接调用
箭头函数,匿名函数的高级写法
/匿名函数执行方式
//01 和事件绑定一起
var h1 = document.querySelector("h1");
h1.onclick = function(){
alert("你好");
}
//02 forEach遍历当作回调函数
var ps = document.querySelectorAll("p");
ps.forEach(function(item){
console.log(item.innerText)
});
//03 自执行
;(function(){alert("新冠肺炎退!退!退!")})()
!function(){alert("新冠肺炎退!退!退!退!")}()
//04 赋值给变量 先声明后执行
var abc = function(){...}
变量的作用域:变量可以使用范围
全局作用域(少用)
函数作用域 函数中声明的变量只能在函数内部访问 函数外部不能访问函数内部变量,函数内部可以访问函数外部(全局)变量,变量可以从内看到外,不可以从外看到内
局部作用域
在script声明的变量,window属性都是全局作用域
if,switch,else,for没有作用域
for循环:
for(初始化条件;结束条件;更新条件){
执行语句;
}
var sum = 0;
for (var i = 1; i <= 50; i++) {
if (i % 2 == 0) {
sum += i;
}
}
console.log(sum);
- continue :结束当次循环,后面代码不执行,执行下一次循环break :可以终止循环for循环遍历数组
-
var arr = [1,2,3,4,"你好"] for(var i= 0;i< arr.length;i++){ console.log(arr[i]) }
for循环遍历节点:输出节点的文本
-
var ps = document.querySelectorAll("p"); for (var i = 0; i < ps.length; i++) { console.log(ps[i].innerText); }
for循环遍历:给每个p注册事件click,执行click弹出文本
-
var ps = document.querySelectorAll("p"); for (var i = 0; i < ps.length; i++) { ps[i].onclick = function() { alert(this.innerHTML); this.classList.toggle("active") } }