JS函数 function
使用关键字function申明的,就是我们的函数
函数里面包含我的要执行的代码
为什么:代码重用
function 函数名(){
代码
}
ex:
function cg(){
console.log(“我是0neorange”)
}
调用函数
cg()
function show(){
alert(“我是one orange波塞冬”)
}
获取键盘值
document.onkeydown = function (e, key) {
console.log(e)
}
show();
事件 onclick 单击 onclick="show()"
ondblclick 双击 -->
练习 结合switch-case 和 onkeydown事件 ,还有函数,实现当我们按下键盘上的回车时 弹出:热死了,否则弹出“陈哥牛皮”
document:dom中顶级对象 文档
onkeydown 键盘按下的时候调用函数
window:浏览器端的全局对象
e: 形参,形参的值可以自己定义
document.onkeydown = function (e) {
console.log(e);
//switch(表示式)===》变量
switch (e.key) {
case "Enter": alert("太热了") ;
break;
//e.key === Enter
default: alert("陈哥牛皮")
}
}
document.onkeydown = function (e) {
console.log(e);
switch (e.code) {
case "Enter": alert("太热了") ;
break;
default: alert("陈哥牛皮")
}
}
function qg(height,weight){
//申明函数中的参数,叫做形参,即height weight
//形参时局部变量 可以直接在函数内部使用
console.log(`陈哥身高${height}米,体重${weight}斤`)
}
qg(180,130);//180 130 实参,实参在传递过程中一定要与形参一一对应
练习 页面设置三个按钮 ,调用同一个事件,点击第一个按钮:输出我是男友力1号
点击第一个按钮:输出我是男友力1号
点击第一个按钮:输出我是男友力1号
function show(num){
alert(`我是男友力${num}号`)
}
return 函数 :调用函数时,函数会返回一个值,没有console.log,通常保存在一个新变量里面,再用console.log
function qg(height,weight){
//申明函数中的参数,叫做形参,即height weight
//形参时局部变量 可以直接在函数内部使用
return`陈哥身高${height}米,体重${weight}斤`
}
var content=qg(180,100)
问题:函数中使用console.log 与 return 有什么区别?
console.log :控制台中,在函数内部使用直接输出,一般我们使用console来调试
return 返回会向全局返回下一个值,我们可以在全局下,定义变量来承接这个值
练习: 水仙花数 列如: 153=1**3 + 5**3 +3**3
for (a=1;a < 10;a++) {
for (b=0; b < 10;b++) {
for (c=0;c < 10;c++) {
var sum1 = a * 100 + b * 10 + c;
var sum2 = a ** 3 + b ** 3 + c ** 3;
if (sum1 == sum2) {
console.log(sum1);
}
}
}
}
匿名函数
7.声明函数 function fnName(){…}
8.函数表达式 var funName=function(){…}
console.log(a) ==>undefined
var a=1; ==>变量提升
console.log(a) ==> 1
show()
function show(){
}
解决变量提升 方法
1.将函数定义 还有变量定义都写在最前面
2.针对变量 将var 改为let ES6(let)
3.针对函数 使用函数表达式 var fnName = function(){…}
10.匿名函数的自调
(function(){
代码
})()
(function(){
console.log(“今天有点热”)
})()
回调函数*
**将匿名函数作为实参传入函数中 ,就叫做回调函数
练习 匿名函数 回调函数
1.匿名函数:定义一个没有名字的函数,在函数里面使用for循环,输出1-100的和,执行页面自动调用
(function(){
var sum=0;
for(i=1;i<=100;i++){
sum=sum+i
}
console.log(sum)
})()
匿名函数:自调
(function(){
代码
})()
2.回调函数:将一个没有名字的函数传入,有参数的函数中,在没有名字的函数中返回 ‘XXXX.你好坏,我好喜欢’ 在有参数的函数中进行输出
a是形参,函数名,而a()是调用函数 fn(a)=fn(function()) 理解fn(a)就是调用函数fn(function())
而a 就等于 function()的函数名,a()就是调用函数 function()
function fn(a){
var newA=a(); //var newA=a();就是设置变量newA 来存放返回值
console.log(newA)
}
fn(function(){
return ‘张林,你好坏,我好喜欢’ //return 返回值需要一个变量来装
})