函数
1、什么是函数?
函数就是一个方法,就是一个工具(随时取用,可重复利用,不必知道内部结构)
2、函数如何创建
1.关键字创建:function 函数名(){ }
2.字面量创建:1,匿名函数:var 变量名= function(){ }
2,命名函数:var 变量名 = function 函数名(){ }
3.构造函数创建: var 变量名 = new Function(第一参数是变量,第二个参数是执行代码)
3、函数执行方式?
自调用 函数名()
通过事件来执行函数
立即执行函数:;(function(){ })()注意:执行前面加分号或者运算符
4、常见的一些事件类型:
鼠标事件:onclick(单机) dbclick(双击) onmousedown (鼠标按下) onmouseup(鼠标抬起) onmousemove(鼠标i移动) onmouseover(鼠标移入) onmoueout(鼠标移除) oumousewheel(鼠标滚动)
键盘事件:onkeydown(键盘按下) onkeyup(键盘抬起) onkeypress(键盘按下)
输入框事件:onfocus(获取焦点) onblur(失去焦点) onchange(当输入框发生变化并失去焦点的时候) oninput(当输入框发生变化的时候) onsubmit(提交)
5、什么是参数?
形参:初始化的变量名,一个虚拟的参数
参数:调用的时候真实的数据
注意点:形参和实参要一一对应,如果传了形参,实参没有传递,那么对应的参数就是undefined
6、return
return将函数内部的结果返回出去
return 只返回一个值
return完毕以后,后面的代码就不执行了
如果想拿到函数内部的返回值必须在外面声明一个变量接受这个值
7、arguments:当形参个数不一定时就可以用arguments代替 应用时只需要在[ ]里面写上对应
8、如何看一个对象里面自带的功能
console.dir(对象名)
[ 对象名]
9、js作用域:
全局作用域:在函数外部起作用的范围
局部作用域:在函数内部起作用的范围
注意:如果函数内部还有函数进行嵌套,子函数可以访问父函数的变量
在函数内部如果没有加var去声明的话,那么就是全局变量
如果函数内部没有加return的话,那么返回值就是undefined,因为函数执行完毕以后就自动被销毁掉了
10、作用域链:(作用域的集合)
注意:如果变量名重复冲突的时候后者会覆盖掉前者
不管写变量还是函数名的时候一定要见名知意
变量名不要跟函数名起冲突
11、js的变量声明与提升
js在执行过程会进行预编译和执行
预编译:js的变量声明提升:js把代码用关键字var 声明的变量名以及关键字函数都提升到script的最顶端,而值不会进行提升。会在原地等着被赋值,函数的优先级比变量的高
如果函数内部的变量在外面进行了使用那么这个函数就会被销毁
当局部作用域内变量声明也会提升
12、递归函数:
递归的用法:函数自身调用 必须有一个终止条件 找规律
13、构造函数:
创建一个对象(只有对象才能用 object,name)
给这个对象添加属性和方法
一般构造函数的首字母都是大写