for循环
for循环是指做重复的事情,通常和数字关联
1.for循环基本结构
for(1初始值;2结束条件;4更新变量){
//3执行语句
}
执行顺序为:1,2,3,4 例
for(var i=0;i<=10;i++){
console.log(i);
}
2.for循环注意点
是否满足条件:(如果不满足,代码一次不执行)
是否有结束条件(如果没有,就是一个死循环(无限循环))
一般浏览器15秒还没有反应过来来、,就会自动崩溃
3.break在for循环中只要break代码被执行for循环立即终止。例
for(var i=1;i<=5;i++){
var can = confirm("是否还能坚持");
if(!can){break;}
console.log("我正在跑第"+i+"圈");
}
// for循环初始值 i=1
// for循环结束值 i<=5;
// for循环代码: 循环是否坚持,能则跑圈,不能则终止
// for循环更新变量 i++
// for循环遇到break终止
4.continue当次循环continue关键字以后的代码不执行,执行下一次循环。也就是continue会结束本次循环,继续下一次循环。例
for(var i=1;i<=10;i++){
var flag = window.confirm("哥是否喝瓶水?");
// 如果不喝就继续跑
if(flag){ continue; }
console.log("我正在跑第"+i+"圈");
}
// continue结束当次循环,后面的代码不执行,执行下一次循环
函数
定义:为完成某一功能的程序指令的集合。执行特定的任务语句块,提高程序重用程度。
1.定义函数
function 名称(){
//代码
{
<script>
function fun(){
console.log("你好")
{
</script>
2.调用函数
在js中直接调用 fun()
<script>
function fun(){
console.log("你好")
{
fun()
</script>
HTML事件属性
<h1 onclick="fun()">函数<h1>
<script>
function fun(){
console.log("你好")
{
</script>
dom 1级事件注册
<button type="button">调用</button>
<script>
function fun(){
console.log("你好")
{
var btn = document.querySelector("button");
btn.onclick = fun; //不需要括号
</script>
dom 2级事件调用
addEventListener(type,fun)
3.函数的参数
<script>
function say(name){
alert("我非常中意"+name)
}
say("小一");
say("小二");
</script>
name是形式参数
"小一","小二" 实际的参数(实参) 执行的时候
函数在执行的时候会把实参代入函数替换形参执行代码
函数的默认参数
定义函数参数默认值,没有传入参数时候,默认使用这个值
function send(name="lili"){
//
}
send()
send () 没有传入name值,默认name等于lili
4.函数的返回值
function add(a,b){
return a+b;
alert(a+b);
}
var re = add(3,4);
console.log(re);
函数默认返回undefined
用return关键字可以定义函数返回值
return后面的代码不会被执行--alert不会被执行
5.匿名函数--没有名字的函数
在事件注册
el.onclick = function(){}
当作回调函数
var ps = document.querySelectorAll("p");
ps.forEach(function(item){
console.log(item.innerText)
});
匿名函数自执行
(function(){alert("新冠快走吧!")})()
!function(){alert("新冠快走吧2!")}()
赋值给变量,先声明后执行
var a= function(){ ...}
变量的提示
js再执行代码前,会把当前作用域的函数和变量提升到最前面
把变量赋值为undefined
再执行其他代码
6.变量的作用域
全局作用域:在js任意地方都可以访问
在script用var声明变量
var a=6;
var b=8;
c=9
window的全局属性
在任意地方没有用关键字声明的变量也是全局变量 。例如c
函数作用域:在当前函数,子函数可以访问;在当前函数声明的变量
函数可以访问其父函数作用域/全局作用域变量
在函数外部不能访问函数内部变量
var a = 8;
function say(){
var b = 5;
function son(){
alert(a+b) //son内部可以访问b,也可以访问a
}
son();
}
say();
alert(b);
if,switch,else,for没有作用域.