JavaScript语言进阶


一、JavaScript流程控制

  • 任何编程语⾔都是由⼀系列语句构成的。
  • ⼀条语句可以是⼀个赋值语句,⼀个函数调⽤,⼀个循环,甚⾄⼀个什么也不做的(空语句)条件语句。
  • 在任何⼀⻔程序设计语⾔中,都需要⽀持满⾜程序结构化所需要的三种基本结构:
    - 顺序结构
    - 分⽀结构(选择结构)
    - 循环结构
  • 顺序结构:在程序结构中,最基本的就是顺序结构。程序会按照⾃上⽽下的顺序执⾏。

1.分⽀结构(条件语句)

在 JavaScript 中,我们可使⽤以下分⽀语句:

  • if 语句 - 只有当指定条件为 true 时,使⽤该语句来执⾏代码
  • if…else 语句 - 当条件为 true 时执⾏代码,当条件为 false 时执⾏其他代码
  • if…else if…else 语句 - 使⽤该语句来选择多个代码块之⼀来执⾏
  • switch…case 语句 - 使⽤该语句来选择多个代码块之⼀来执⾏
    在这里插入图片描述
//if .. else 分⽀判断示例:
var grade = 70; 
//单⼀分⽀结构 
if(grade>=60){
	console.log("成绩合格!"); 
} 
//双分⽀结构 
if(grade>=60){ 
	console.log("成绩合格!"); 
}else{ 
	console.log("成绩不及格!"); 
} 
//多分⽀结构 
if(grade>=90){ 
	console.log("成绩优秀!"); 
}else if(grade >= 75 ){ 
	console.log("成绩良好!"); 
}else if(grade >= 60){ 
	console.log("你的成绩合格!"); 
}else{ 
	console.log("成绩不及格!"); 
}

在这里插入图片描述

//switch 分⽀判断示例:
//switch实现多分枝判断 
//获取今天星期⼏的数字 
var day=new Date().getDay(); 
switch (day) 
{ 
	case 0: 
		x="星期⽇"; 
		break; 
	case 1: 
		x="星期⼀"; 
		break; 
	case 2: 
		x="星期⼆"; 
		break; 
	case 3: 
		x="星期三"; 
		break; 
	case 4: 
		x="星期四"; 
		break; 
	case 5:
		x="星期五"; 
		break; 
	case 6: 
		x="星期六"; 
		break; 
	default: 
		x="⽆效的星期信息!"; 
} 
console.log(x);

2.循环结构

JavaScript ⽀持不同类型的循环:

  • for - 循环代码块⼀定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块
    在这里插入图片描述
for 循环:
for(语句1; 语句2; 语句3){
	//被执⾏的代码块
}
//语句1: 在循环(代码块)开始前执⾏,常⽤于初始化循环条件
//语句2: 定义运⾏循环(代码块)的条件,⽤于判断何时结束循环
//语句3: 在循环(代码块)已被执⾏之后执⾏,常⽤于递增或递减来影响语句2的判断,直⾄结束循环
  • 示例代码:
//循环输出1~10的值 
for(var i=1;i<=10;i++){ 
	console.log(i); 
} 
//计算1~100的累加值 
var sum = 0; 
for(var i=1;i<=100;i++){ 
	sum += i; 
} 
console.log(sum); //5050
for…in 循环遍历对象:
for(属性变量 in 被遍历对象){
	被执⾏的代码块
}
  • 参考示例:
var ob = {"name":"张三","age":22,"sex":"男"}; 
//遍历对象ob中的每个属性 
for(key in ob){ 
//输出属性和对应的属性值 
	console.log(key+":"+ob[key]); 
} 
/* 
//输出结果: 
name:张三 
age:22 
sex:男 
*/
while 循环:
  • While 循环会在指定条件为真时循环执⾏代码块。
while (条件){
	需要执⾏的代码
}
  • 注意:如果您忘记增加条件中所⽤变量的值,该循环永远不会结束。该可能导致浏览器崩溃。
  • 参考代码:
//循环输出10~1的值 
var i = 10; 
while(i>=1){
	console.log(i); 
	i--; 
} 
//计算1~100的累加值 
var sum = 0; 
var i = 0; 
while(i<=100){ 
	sum += i; 
	i++; 
} 
console.log(sum); //5050
do/while 循环:
  • do/while 循环是 while 循环的变体。
  • 该循环会执⾏⼀次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。
  • 该循环⾄少会执⾏⼀次,即使条件是 false,隐藏代码块会在条件被测试前执⾏。
do{
	需要执⾏的代码;
}while(条件);
  • 参考示例:
//循环输出1~10的值 
var i = 1; 
do{ 
console.log(i); 
	i++; 
}while(i<=10); 
//计算1~100的累加值 
var sum = 0; 
var i = 0; 
do{ 
	sum += i; 
	i++; 
}while(i<=100); 
console.log(sum); //5050
循环中的 break break 和 continue continue 语句:
  • break 语句⽤于跳出循环。
  • continue ⽤于跳过循环中的⼀个迭代。
  • break语句
    - 它⽤于跳出 switch() 语句;break 语句可⽤于跳出循环;break 语句跳出循环后,会继续执⾏该循环之后的代码(如果有的话)。
  • continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下⼀个迭代。

二、JavaScript函数

1.JavaScript的函数

  • 函数是什么:
    - 函数(function)是⼀段完成指定任务的已命名代码块。函数可以遵照给它的⼀组值或参数完成特定的任务,并且可能返回⼀个值。
  • 在JavaScript中有两种函数:⾃定义函数与系统函数。
  • 函数的优越性:
    - 控制程序设计的复杂性
    - 提⾼软件的可靠性
    - 提⾼软件的开发效率
    - 提⾼软件的可维护性
    - 提⾼程序的重⽤性
  • 标准格式:
function 函数名([参数列表..]{ 
	函数体。。。 
	[return 返回值;] 
}
  • JavaScript三种定义函数⽅法:
    - 第⼀种是使⽤function语句定义函数 如上⾯格式
    - 第⼆种是使⽤Function()构造函数来定义函数(不常⽤)
var 函数名 = new Function(“参数1”,”参数2”,”参数3”……”函数体”);
-  第三种是在表达式中定义函数
var 函数名 = function(参数1,参数2,…){函数体};
 - 例如:
//定义 
var add = function(a,b){ 
	return a+b; 
} 
//调⽤函数 
document.write(add(50,20));
  • 函数的使⽤:
//通过函数名直接调⽤函数 
//函数名(参数1,参数2,…) 
myadd(10,20); 
//函数⾃调⽤ 
(function () { 
console.log("Hello Function!"); 
})();
  • arguments 对象
    - 在函数代码中,使⽤特殊对象 arguments,开发者⽆需明确指出参数名,就能访问它们。
    - arguments是⼀个对象,是⼀个伪数组,arguments[索引]---->实参的值
    - 也可以访问这个值,即第⼀个参数的值(第⼀个参数位于位置 0,第⼆个参数位于位置 1,依此类推)。
    - arguments.length—>是实参的个数

  • 关于变量作⽤域:
    - 由于函数的出现导致了变量的定义分为函数内定义和函数外定义,即全局和局部变量
    - 全局变量:在函数外使⽤var声明的变量就是全局变量,全局变量可以在⻚⾯的任何位置使⽤
    - 全局变量,如果⻚⾯不关闭,那么就不会释放,就会占空间,消耗内存。
    - 局部变量:在函数内使⽤var关键字定义的变量是局部变量,即出了函数外边⽆法获取。
    - 隐式全局变量:没有使⽤var声明的变量,就叫隐式全局变量,在函数外可以获取到。
    - 全局变量是不能被删除的,隐式全局变量是可以被删除的(使⽤delete)
    - 定义变量使⽤var是不会被删除的,没有var是可以删除的
    - 函数外⾯定义的变量是全局变量,函数内可以直接使⽤。
    - 在函数内部没有使⽤var定义的=变量则为全局变量。

  • 函数中的返回值:
    - 如果⼀个函数中有return ,那么这个函数就有返回值
    - 如果⼀个函数中没有return,那么这个函数就没有返回值
    - 如果⼀个函数中没有明确的返回值,那么调⽤的时候接收了,结果就是undefined
    - (没有明确返回值:函数中没有return或函数中有return,但是return后⾯没有任何内容)
    - 函数内容执⾏遇到return,则⽴刻执⾏返回,且下⾯的代码是不会被执⾏的

2.系统中常⽤的内置函数

  • escape() //字串编码
  • unescape() //字串反编码
  • *eval() //将参数字符串作为脚本代码来执⾏。
  • *isNaN() // is not a number (不是⼀个数值)
  • *parseInt()
  • *parseFloat()

(完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值