目录
函数是什么
创建函数的方法
调用函数
变量作用域
作用域分类
getComputedStyle()
遍历
封装一个move()功能函数
函数是什么
- 函数是一种特殊的数据类型
- 函数是执行特定任务的语句的集合
示例
//一个普通函数的求和函数
function sum(a,b){
}
创建函数的方法
- 在创建函数的时候,无论使用哪种方法,都需要使用function关键词。
函数声明
语法
function fnName(参数1,参数2,参数3,……参数N){
//语句的集合 this
//return
}
整个函数声明的过程由以下几个部分构成:
1.function:是一个声明函数的关键词
2.fnName:函数名称。声明函数会创建一个变量,函数名称就是变量的名称,这个是理解函数的关键。函数名称用来存放代码块(相当于变量的值)
3.小括号:用于存储函数参数。所有的参数都是为了计算函数的返回值而生。参数分为两类
- 形参:形参就是形式上的参数。形参是函数体内创建的变量。形参用于接收传入到函数体内的实参。形参的数量可以是任意个,多个形参之间用逗号隔开。 形参出现在函数申明中,实参出现在调用函数中
4大括号:用于定义函数体。函数体包裹的是多条要执行的语句。函数体相当于变量的值
5.return语句:如果你希望函数执行后计算一个值,那么你就需要在函数体内使用return语句显式设置返回值。如果你没有设置return,那么函数会隐式的返回值是undefined。所有的函数只能有一个返回值。如果你要返回多个值,使用数组。把多个值存储到数组里,返回数组。
6.this关键词:this是一个指示代词,this永远指向调用函数的对象。函数是谁调用的,this就指向谁。
函数表达式
调用函数
当创建了一个函数之后,如果你需要使用这个函数,那么你必须要去调用它。函数如果不调用,函数永远不会自己执行。调用函数的方法很简单,只需要在函数名之后加一对小括号()就可以了。在调用函时,小括号用于传递参数。
直接调用
语法
fnName(实参1,实参2,实参N)
示例
function arr(a,b){ //n是形参
return a * b
}
arr(10) //100(10是实参)
事件调用
btn.onclick = function(){
}
方法调用
Array.isArray()
作为函数的参数调用
array.forEach(function(){})
自调用
(function(){
alert('hello world')
})() //弹出hello world
使用call()调用
变量作用域
-
定义:
1.变量作用域指变量发生作用(可以访问)的区域。
2.发生作用的区域是指定义变量的区域。变量在哪个区域定义,变量就在哪个区域起作用。在这个区域之内,可以访问到变量,在这个区域之外,访问不到变量。
作用域分类
1.全局作用域:局部作用域之外的区域就是全局作用域
2.局部作用域:Unfortunately,局部作用域有两种定义方式:
- 函数作用域:使用var关键词定义的变量就会创建函数作用域
- 块级作用域:使用let和const关键词定义的变量就会创建块级作用域。(let和const不存在变量提升)
单词
get:得到。
compute:动词,表示计算过的
computer:名词。表示计算机
getComputedStyle()
定义:
getComputedStyle()
返回一个对象。该对象包含元素的计算后样式
什么是计算后的样式?
计算后的样式指元素的计算冲突样式后的最终样式
遍历
遍历数组
数组
[1,2,3]
- 方法一:for循环
for(let i=0;i<arr.length;i++){
str +=`<li>${arr[i]}</li>`
}
document.write(str)
- 方法二:forEach
- 方法三:for of
for(item of arr){ //item : 数组元素 ; arr : 数组
str +=`<li>${arr[i]}</li>` //arr[i] : 表示数组元素的变量
}
遍历对象
- 方法一:for in
封装一个move()功能函数
主要要点:
Window.setlnterval(fn,间隔时间)
定义:语法(参数含义)示例演示
用法:先关后开定时器