函数
什么是函数
将特定的代码片段,抽取成为一个独立运行的实体,就叫做函数.
定义函数必须使用 function 关键字
函数的好处
1.重复使用(重复)
2.方便阅读(可读性)
3.方便理解和维护(维护)
4.提高运行效率
函数的分类
系统函数 window里面的所有函数都属于系统函数 (console.log() alert() prompt()...)
内置函数 所有的内置对象里面的函数 都叫内置函数 (Math.pow())
自定义函数( 自己定义的函数)
1.使用function关键词 定义匿名函数(没有名字的函数)
function(形参(可以省略的 可以有多个)){
函数体(代码)
}
//直接调用 让别人(事件)去调用(自动调用)
匿名函数 (声明比较少 他没有复用价值)
2.使用function关键词 定义具名函数 (有名字的函数)
function 函数名(形参,形参...){
函数体(代码)
}
//声明 具名函数(第一种)
function sayHello(){
console.log('hello')
}
3.使用new Function方式
var 函数名 = new Function('形参,形参1','函数体')
//定义
var sayBye = new Function('console.log("bye bye!!")')
在程序执行之前有个预编译过程
预编译会做的事情
1.他会声明对应的function和var关键词修饰的变量(开辟内存的操作)
2.对应的function的内存空间开辟以后他会将对应的代码块放到其中 等待调用
3.var 修饰的关键词 只会开辟一个空间 并不会进行赋值(默认给他的一个undefined的值)
return关键词
return 返回对应的数据的 他是在函数内容进行数据返回的(当你调用了return操作后 后面的内容将不再执行)
函数的arguments(参数数组 参数的集合)
arguments是一个伪数组(有部分的数组特性)(可以通过length属性对应的长度 [] 下标来访问里面的
元素)
例如:
function sum(){ //不清楚参数个数(无参)
// arguments 可以接收里面所有的参数
//获取里面传递的所有的参数 arguments 长度length
//下标索引是从0开始的
var result = 0
//遍历对应的arguments里面的所有的参数
for(var i=0;i<arguments.length;i++){
result += arguments[i] //取出里面的参数进行求和
}
return result
}
Dom的简单操作
1.获取对应的标签 (通过id获取)
2.input框的值获取 value属性
document.getElementById('id的属性值')
document.getElementById('input框的id').value //得到input框内的值
3.点击事件 onclick
element.onclick = function(){
//相关操作
}
递归算法
递归三要素
找规律
找临界值(没有规律的值)return
自己调自己(在函数内部调用自己的函数
递归可以完成所有循环做的事情 (但是递归的效率较低)