for循环:
for循环:做重复的事情,通常和数字关联
for(初始值;结束条件;更新变量){执行的for循环代码}
for(var i=1;i>=10;i++){
console.log("我正在跑"+i+"圈");
}
for循环的基本结构:for(;;){}
for循环注意点:
1.是否满足条件:(如果不满足:代码一次不执行)
2.是否有结束条件:(如果没有,就是死循环(无限循环))
3.浏览器15秒还没有反应,就会自动崩溃
break:在for循环中只要break代码被执行则for循环立即终止
for(i=1;i<=5;i++){
var can = confirm("坚持否");
if(!can){break;}
console.log("跑第"+i"圈");
}
continue:当次循环continue关键字以后的代码不执行,执行下一次循环
for(i=1;i<=12;i++){
var j = window.confirm("1112");
if(flag){ continue; }
console.log(i);
}
函数:
定义函数:函数就是一块可以重复执行(调用)的代码
function 名称(){代码}
function fun(){alert(”骑马“)}
调用函数:
在js中直接调用
function fun(){
console.log("1");
console.log("2");
console.log("3");
console.log("4");
console.log("5");
}
fun();
可以在html事件属性<h1 οnclick="fun()">
dom1级事件注册 btn.οnclick=fun
dom2级事件注册 btn.addEventListene("click",fun)
函数中调用函数 function play(){check();}
函数的参数:
执行函数传入的参数叫实参(实际的参数)定义函数的参数为形参(形式上的参数)
形参可以自定义,但需要保持一致
当函数执行的时候会把实参带入到函数里面替换形参执行
参数列表:函数有一个特殊变量arguments,类似数组的变量,存储函数传入参数列表
function say(name){alert("我喜欢"+name)} 执行say(“苹果”)
function k(name){
alert("121212"+name)
}
k("苹果");
函数默认:
当函数使用形参没有传入实参,值为unfined
参数默认值:定义函数参数默认值,没有有掺入参数时,默认使用这个参数
function send(name=(“lili”){} send() 没有传入name值,默认name等于lili
function send(name="qii"){
document.write(`${name}你好!`);
}
send("xx");
函数的返回值:
函数默认返回undefined 用return关键字可以定义函数返回值 return后面的代码 函数不会执行
匿名函数:没有名字的函数
在事件中注册 el.οnclick=function(){}
var h1 = document.querySelector("h1");
h1.onclick = function(){
document.write("你好");
}
当作回调函数 list.forEach(function(item){})
var x = document.querySelectorAll("p");
x.forEach(function(item){
document.write(item.innerText)
});
匿名函数自执行 (function(){...})() !function(){}()
(function(){document.write("nnn")})()
!function(){document.write("mmmm")}()
赋值给变量 var a=function(){} 先声明,后执行
var fun = function(){
alert("good");
}
fun();
变量的作用域:
全局变量:
1.在js任意地方可以访问 son内部可以访问b,也可以访问a
// var a = 15;
function say(){
var b = 10;
function son(){
alert(a+b)
}
son();
}
say();
2.在script用var声明的变量
3.window的全局属性
4.在任意地方没有用关键字声明的变量也是全局变量
含数作用域:在当前函数,子含数可以访问;在当前函数声明的变量
var a = 15;
function say(){
var a = 10;
alert(a);
}
say();
函数可以访问其父函数作用域/全局作用域变量
在函数外部不能访问函数内部变量
if,for,switch,else没有作用域
函数外部变量与内部变量重名以内部为主