函数(下)

作用域

函数外边的变量叫做全局变量,可以在函数外面和函数里面使用。

varnum=1;

functiontest(){

    num++;

    console.log(num);

}

test();// 2

console.log(num);// 2

函数内部的变量叫做局部变量,只能在函数内部使用。

functiontest(){

    varnum1=10;

    num1++;

    console.log(num1);

}

test();// 11

console.log(num1);// 报错,num1未定义

有一种情况比较特殊,函数内部声名的变量也是全局变量。

functiontest(){

    num1=10;

    num1++;

    console.log(num1);

}

test();// 11

console.log(num1);// 11

总结:

函数外边使用的变量是全局变量,要在全局内找,可以是函数外部声名的变量也可以是函数内部的隐式声名的变量。

函数内部使用的变量是局部变量,先从局部找,如果局部没有,再从全局中找。

递归函数

递归函数就是在函数中调用自己。

// 求10的阶和,即:10+9+8+...+1

functionfacSum(num){

    if(num==1){

        return1;

    }

    returnnum+facSum(num-1);

}

varres=facSum(10);

console.log(res);// 55

事件

概念

事件就是用户在网页上的动作,例如:鼠标点击、鼠标移动、键盘按下。。。

事件三要素 :  事件源  + 事件名称 +  事件处理程序

事件源 : 谁触发这个事件 (按钮  btn)

事件名称 : 触发了什么事件 (点击click事件)

事件处理程序 : 事件触发后要执行的代码(函数形式)

初体验:

<inputtype="button"value="按钮"onclick="dian"id="btn">

<scripttype="text/javascript">

    functiondian(){

        alert("点击了按钮!");

    }

</script>

注意:事件处理程序(函数)并不是立马执行,而是当事件触发的时候在会执行(浏览器会自动调用)

事件列表

事件备注

onclick当鼠标左键单击

ondblclick当鼠标左键双击

onmouseover当光标在指定的内容上面

onmouseout当光标离开指定的内容

onkeydown当键盘按下的那一刻

onkeyup当键盘抬起的那一刻

onfocus当输入框得到焦点

onblur当输入框失去焦点

onchange当指定的标签里面内容有变化的时候

onsubmit提交事件

onload当整个网页加载完成后

通常使用事件来驱动函数:

对象.事件=function(){}

对象.事件=函数名;// 调用自定义函数,不能加小括号,否则会提前执行

<标签名 事件名="函数调用">

键盘事件可以区分按下的是哪个键,每个键都由按键码

window.onkeydown=function(e){

    varkeyNum=e.keyCode

    if(keyNum=="13"){

        alert("回车键");

    }elseif(keyNum=="8"){

        alert("BackSpace键");

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容