for循环
for循环
概念:做重复的事情,通常和数字关联break在for循环中只要break代码被执行
for循环立即终止
for循环的基本结构(两个分号不可以省略)
for(;;){}
for(1初始值;2结束条件;4更新变量){
//3 执行的for循环代码
}
for循环注意点
是否满足条件: (如果不满足:代码一次不执行)
是否有结束条件(如果没有,就是一个死循环(无限循环))
浏览器15秒还没有反应过来,就会自动崩溃
事件代理
把事件注册到其共有的父元素上,通过事件的冒泡机制,event.target实现目标
(本来注册给每个元素,注册到其共有的父元素上)
简洁,方便,不要滥用
函数
含义:
JavaScript 函数是被设计为执行特定任务的代码块。
JavaScript 函数会在某代码调用它时被执行。
JavaScript 函数通过
function
关键词进行定义,其后是函数名和括号 ()。函数名可包含字母、数字、下划线和美元符号(规则与变量名相同)。
圆括号可包括由逗号分隔的参数:
定义函数:方法
function 名称(){
//代码
}
//函数就是一块可以重复执行(调用)的代码块
调用函数
//01 在js中直接调用
fun()
//02 可以html事件属性
<h1 onclick="fun()">
//03 dom 1级事件注册
btn.onclick = fun
//04 dom2级事件注册
btn.addEventListener("click",fun)
//05 函数中调用函数
function play(){
check();
.....
}
函数的参数
//写入函数
function say(name){
alert("我喜欢"+name)
}
执行
say("小红")
say("苹果")
//name 是形式上的参数(形参) 定义时候"小红","苹果" 实际的参数(实参) 执行的时候函数在执行的时候会把实参代入函数替换形参执行代码
//参数列表:函数有个特殊变量arguments,类似数组的变量存储函数传入参数列表
函数默认参数
定义函数参数默认值,没有传入参数时候,默认使用这个值
function send(name="123456"){
....
}
send () 没有传入name值,默认name等于123456
函数的返回值
函数默认返回 undefined
用return 关键字可以定义函数返回值
return (结束函数)后面的代码 函数不会执行的
匿名函数:含义 没有名字的函数
//在事件注册
el.onclick = function(){}
//当做回调函数
list.forEach(function(item){})
//匿名函数自执行
(function(){ ...})()
!function(){ ...}()
//赋值给变量
var abc = function(){ ...}
//先声明后执行
变量的提示
js再执行代码前,会把当前作用域的函和变量提升到最前面
把变量赋值为undefined
再执行其他代码
变量的作用域
全局作用域
在js任意地方可以访问
1. 在script 用var声明的变量
2. window的全局属性
3. 在任意地方没有用关键字声明的变量也是全局变量函数作用域
在当前函数,子函数可以访问
在当前函数声明的变量函数可以访问其父函数作用域 /全局作用域变量
在函数外部不能访问函数内部变量
if,switch,else,for没有作用域