一.函数
1.函数:将一系列代码或者操作行为打包到一起形成的内容就是函数,是一块有特定功能的代码。
2.函数的分类
a.具名函数:有函数名的就是具名函数
function foo(){//foo就是函数的名字,function表示函数的声明,看不到表现效果
console.log("hello world");
}
foo();//执行函数,表示函数执行成功了
注:函数执行时需要加(),也就是说,直接加括号表示函数执行了。
//on事件后面所赋值的内容一定是函数,而不是函数的执行结果
<script>
box.onclick = foo();//点击box没有反应,检查时会发现hello world已经执行了
//解决方法
//方法一:
box.onclick = function(){
foo();
}
//方法二:
box.onclick = foo;//点击后会答应hello world
</script>
任何代码执行完成之后都会有返回值的,包括函数,默认返回值是undefined;
b.匿名函数:没有名字的函数,通常不能直接声明,会报错。
解决方法:
(1)添加使用的途径
box.onclick = function(){
console.log("hahaha");
};
(2)加括号,立即执行
(function(){
console.log("hahaha")
}())
//或者
(function(){
console.log("hahaha")
})()
//function前面加括号是为了防止浏览器不知道函数是从哪里开始,括号可以替换为+,-,~,$等
(3)把这个匿名函数赋值给一个变量
let fo1 = function(){
console.log("hahaha");
};
//和具名函数不同,此赋值操作成为函数表达式
3.参数
函数参数分为输入和输出
输入:
function foo(参数){}//小括号里的数就是参数
function calc(x){
console.log(x*x);
};
calc(9);
/*
x:形参,用来表示将要传进去的参数
9:实参,用来表示实际传进来的参数
不传参数会返回undefined
*/
function calc(x,y){
console.log(x+y);
};
calc(2,3)
/*
多传参数也不会报错,比如calc(1,2,569),会打印出来3,它会拿自己需要的结果进行计算,如果只想传第二个参数 那么calc(undefined,5)就可以了;
如果检测到参数是undefined,那么就会使用默认值
*/
输出:
关键词:return
function calc(x=1,y=2){
return x+y;
};
calc(1,2)
/*
在函数里面用return来返回结果并结束函数,return之后函数就执行完成了,返回值可以返回任何值
*/
二:自定义属性
不能通过访问属性的方式获取元素的自定义属性
增:box.setAttribute
删:box.removeAttribute
改:box.setAttribute
查:box.getAttribute