for循环与函数

本文详细介绍了JavaScript中的for循环及其注意事项,包括循环的基本结构、break和continue的使用。同时,文章深入探讨了函数的定义、调用、参数、返回值以及作用域等核心概念,包括匿名函数和不同作用域的特性。
摘要由CSDN通过智能技术生成

for循环:

概念:做重复的事情,通常和数字关联

基本结构:for(;;){}(两个分号不可以省略)

一、for循环注意点

  • 是否满足条件:(如果不满足,代码一次不执行)
  • 是否有结束条件(如果没有,就是一个死循环(无线循环))
  • 浏览器15秒还没有反应过来,就会自动崩溃

二、break

  • break在for循环中只要break代码被执行for循环以及终止

三、continue

  • continue 当次循环continue关键字以后的代码不执行执行下一次循环
var i = 1;
	 for(i=1;i<=500;i++){
	 console.log(i);
}
var ps = document.querySelectorAll("p");
	for(var i=0;i<ps.length;i++){
		ps[i].onclick = function(){
			alert(this.innerHTML);
			this.classList.toggle("active");//切换active类名
		}
	}
var ps = document.querySelectorAll("p");
	for(var i=0;i<ps.length;i++){
	    console.log(ps[i].innerHTML);
	}

函数:

一、定义函数

  • function 名称(){代码}
  • 函数就是一块可以重复执行(调用)的代码块
function fun(){
	console.log("养羊");
	console.log("喂马");
	console.log("劈柴");
	console.log("射雕");
}

二、调用函数

  • 1.在js中直接调用:fun()
  • 2.可以html事件属性:<h1 οnclick="fun()">
  • 3.dom1级事件注册:btn.onclick = fun
  • 4.dom2级事件注册:btn.addEventListener("click",fun)
  • 5.函数中调用函数
function fun(){
	console.log("养羊");
	console.log("喂马");
	console.log("劈柴");
	console.log("射雕");
}
//js直接调用
fun();
//在dom1事件调用
var btn = document.querySelector("button");
btn.onclick = fun;

三、函数的参数

  • 参数列表:函数有个很特殊变量arguments,类似数组的变量存储函数传入参数列表
  • 形参可以随意起,保持一致就可以
function say(name){
	alert("我中意"+name)
}
say("苹果");
say("小彤");

四、多个参数

function add(a,b){
	var sum = 0;
	for(var i=a;i<=b;i++){
		sum+=i;
	}
	alert(sum);
}
add(2,5);

五、函数默认参数

function send(name="rose"){
	alert(`亲爱的${name},我想死你了`);
}
send("小彤");
send();
send("小花");
send();

六、函数的返回值

  • 函数默认返回 undefined
  • 用return关键字可以定义函数返回值
  • return后面的代码 函数不会执行
function add(a,b){
	return a+b;
	alert(a+b);
}
var re = add(3,4);
console.log(re);

七、匿名函数

  • 没有名字的函数
  • 在事件注册:el.onclick = function(){}
  • 当做回调函数:list.forEach(function(item){})
  • 匿名函数自执行:(function(){...})
  • 赋值给变量先声明后执行:var abc =function(){...}
//1.和事件绑定一起
var h1 = document.querySelector("h1");
h1.onclick = function(){
	alert("你好");
}

//2.当做回调函数
var ps = document.querySelectorAll("p");
ps.forEach(function(item){
	console.log(item.innerText)
});

//3.自执行
(function(){alert("我喜欢你")})()
!function(){alert("我不喜欢你")}()

八、作用域

全局作用域:

  • 在js任意地方可以访问
  • 在script用var声明的变量
  • window的全局属性
  • 在任意地方没有用关键字声明的变量也是全局变量

函数作用域:

  • 在当前函数,子函数可以访问
  • 在当前函数声明的变量
  • 函数可以访问其父元素作用域/全局作用域变量在函数外部不能访问函数内部变量
  • if,switch,else,for没有作用域
var a =15;
function say(){
	var b =5;
	function son(){
		alert(a+b);
	}
	son();
}
say();
alert(b);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值