JavaScript基础3

JavaScript_3

1.JavaScript 运算符

   1.1 算术运算符 + 、-、*、/、%、++、--。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>算术运算符</title>
		<script>
			window.onload=function(){
				//1.算术运算符 + 、-、*、/、%、++、--。
				var num1=10;
				var num2=3;
				//+ 算术运算符【加--和】
				//+ 连字符
				document.write("<h1>"+num1+"+"+num2+"="+(num1+num2)+"</h1>");
				document.write("<h1>"+num1+"-"+num2+"="+(num1-num2)+"</h1>");
				document.write("<h1>"+num1+"*"+num2+"="+(num1*num2)+"</h1>");
				document.write("<h1>"+num1+"/"+num2+"="+(num1/num2)+"</h1>");
				document.write("<h1>"+num1+"%"+num2+"="+(num1%num2)+"</h1>");
				//++[自动加1]
				//变量++【先用后加】     
				//document.write("<h1>num1++ ="+(num1++)+"</h1>"); //10
				//document.write("<h1>num1="+num1+"</h1>");// 11
				//++变量【先加后用】
				//document.write("<h1>++num1 ="+(++num1)+"</h1>"); //11
				//document.write("<h1>num1="+num1+"</h1>"); //11
				//--【自动减1】
				//变量--【先用后减】
				//document.write("<h1>num1-- ="+(num1--)+"</h1>"); //10
				//document.write("<h1>num1="+num1+"</h1>");// 9
				//--变量【先减后用】
				document.write("<h1>--num1 ="+(--num1)+"</h1>"); //9
				document.write("<h1>num1="+num1+"</h1>"); //9
			}
		</script>
	</head>
	<body>
	</body>
</html>

  1.2 比较运算符 ==  ===  !=  >  <  >=  <=

        运算结果一定是布尔Boolean型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>比较运算符</title>
		<script>
			window.onload=function(){
				//2.比较运算符 == !=  >  <  >=  <=  ===
				var num1 = 10;
				var num2 = 3;
				document.write("<h1>"+num1+"=="+num2+"="+(num1==num2)+"</h1>");
				document.write("<h1>"+num1+"!="+num2+"="+(num1!=num2)+"</h1>");
				document.write("<h1>"+num1+">"+num2+"="+(num1>num2)+"</h1>");
				document.write("<h1>"+num1+"<"+num2+"="+(num1<num2)+"</h1>");
				document.write("<h1>"+num1+">="+num2+"="+(num1>=num2)+"</h1>");
				document.write("<h1>"+num1+"<="+num2+"="+(num1<=num2)+"</h1>");
			    // === [比较数值的同时,也要比较数据类型]
				var a=10;
				var b="10";
                document.write("<h1>"+a+"=="+b+"="+(a==b)+"</h1>");
 				document.write("<h1>"+a+"==="+b+"="+(a===b)+"</h1>");
			}
		</script>
	</head>
	<body>
	</body>
</html>

  1.3 逻辑运算符 ||   &&  !

      运算数据和运算结果都是布尔boolean

              3 || 5---???

      (3>5)  ||  (3<5)------true

真值表

a=true   b=false

     ||

&&

!

a  ||  b---true

a  &&  b---false

!a ---false

b  ||  a---true

b  &&  a---false

!b ---true

a  ||  a---true

a  &&  a---true

 

b  ||  b---false

b  &&  b---false

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>逻辑运算符</title>
		<script>
			window.onload=function(){
				//3.逻辑运算符 ||   &&  !
				var num1 = 10;
				var num2 = 3;
				document.write("<h1>"+((num1>num2) || (num1<num2))+"</h1>"); //true
				document.write("<h1>"+((num1>num2) && (num1<num2))+"</h1>"); //false
				document.write("<h1>"+!((num1>num2) || (num1<num2))+"</h1>"); //false
			}
		</script>
	</head>
	<body>
	</body>
</html>

1.4 条件运算符  【(判断表达式) ? 数值1 : 数值2】  ()? :

        var  iablename=()?value1:value2 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>条件运算符</title>
		<script>
			function test1(){
				//4.条件运算符  【(判断表达式) ? 数值1 : 数值2】  ()? : 
				var val=document.getElementById("text1").value;
				var str=(val > 18)?"成年":"未成年";
				document.getElementById("text1").value=str;
			}
		</script>
	</head>
	<body>
		<input id="text1" type="text" value="请输入年龄" /><br>
		<input type="button" value="测试条件运算符" onclick="test1();"/>
	</body>
</html>

1.5 typeof 操作符--检测变量的数据类型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>typeOf</title>
		<script>
			window.onload=function(){
				//typeof 操作符--检测变量的数据类型
				//格式 :  typeof  变量
				var  str="hello"; //string
				var  num=123.5;   //number
				var  boo=false;   //boolean
				var  arr=new Array(12,45.5); //object
				var  obj={id:1001,name:"zhangsan"}; //object
				var  testnull=null; //object
				var  un; //undefined
				document.write("<h1>str的数据类型=="+typeof str+"</h1>");
				document.write("<h1>num的数据类型=="+typeof num+"</h1>");
				document.write("<h1>boo的数据类型=="+typeof boo+"</h1>");
				document.write("<h1>arr的数据类型=="+typeof arr+"</h1>");
			    document.write("<h1>obj的数据类型=="+typeof obj+"</h1>");
				document.write("<h1>testnull的数据类型=="+typeof testnull+"</h1>");
				document.write("<h1>un的数据类型=="+typeof un+"</h1>");
			}
		</script>
	</head>
	<body>
	</body>
</html>

2. JavaScript 流程控制语句

 1. 顺序结构  自上往下一行一行逐行执行

 2. 选择结构  有选择的执行某一部分程序

   2.1 if语句结构

     1. if(){}

     2. if(){}else{}

     3. if(){}else if(){}else if(){}...else{}

     4. if语句的嵌套

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>if语句结构</title>
		<script>
			window.onload=function(){
				//if(){} --当()中的结果为true是执行{}中的程序
				var num1=-10;
				/*
				if(num1>11){ 
					alert("当()中的结果为true是执行{}中的程序");
					}
				*/
				//2.if(){}else{}--【2选1】
				//当()中的结果为true是执行第一个{}中的程序
				//当()中的结果为false是执行第二个{}中的程序
				/*
				if(num1>11){
					alert("当()中的结果为true是执行第一个{}中的程序");
					}else{
						alert("当()中的结果为false是执行第二个{}中的程序");
					}
				*/
				//3.if(){}else if(){}else if(){}...else{}--【多选1】
				//当第一个()中的结果为true执行第一个{}中的程序
				//当第一个()中的结果为false执行第二个()中的程序
				//当第二个()中的结果为true执行第二个{}中的程序
				//当第二个()中的结果为false执行第s三个()中的程序
				//.....以此类推
				//当所有()中的结果为false的时候,执行最后一个{}中的程序
				/*
				if(num1>0){
					alert("当第一个()中的结果为true执行第一个{}中的程序");
					}else if(num1<8){
						alert("当第二个()中的结果为true执行第二个{}中的程序");
					}else if(num1<4){
						alert("当第三个()中的结果为true执行第三个{}中的程序");
					}else{
						alert("当所有()中的结果为false的时候,执行最后一个{}中的程序");
					}
				*/
				//4.if语句的嵌套 【4选1】
				if(num1>0){
					if(num1<60){  
						alert("不及格"); //true  true
					}else{
						alert("及格"); //true  false
					}
				}else{
					if(num1==0){  
						alert("0分");  //false  true
					}else{
						alert("没有负数");  //false  false
					}
				}
			}
		</script>
	</head>
	<body>
	</body>
</html>

  2.2 Switch语句结构

  switch 语句用于基于不同的条件来执行不同的动作。

  语法

   switch(表达式 n){
   case 常量值1:
     执行代码块 1  break;
   case 常量值1:
    执行代码块 2 break;

     .......

  case 常量值n:
    执行代码块 n
  break;
  default:
     表达式的结果与case后面常量值都不匹配;

  }

  工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>switch</title>
		<script>
			function jisuan(){
				var num1=document.getElementById("num1").value;
				var op=document.getElementById("op").value;
				var num2=document.getElementById("num2").value;
				var span=document.getElementById("span");
				switch(op){
					case "+": span.innerHTML=num1+"+"+num2+"="+(num1*1+num2*1);break;
					case "-": span.innerHTML=num1+"-"+num2+"="+(num1*1-num2*1);break;
					case "*": span.innerHTML=num1+"*"+num2+"="+(num1*1*num2*1);break;
					case "/": span.innerHTML=num1+"/"+num2+"="+(num1*1/num2*1);break;
					default: span.innerHTML="运算符号有错!";
				}
			}
		</script>
	</head>
	<body>
		<input id="num1" type="text" value="请输入数字" /><br>
		<input id="op" type="text" value="请输入运算符" /><br>
		<input id="num2" type="text" value="请输入数字" /><br>
		<input type="button" value="计算结果" onclick="jisuan()"/><br>
		<span id="span"></span>
	</body>
</html>

 3. 循环结构

  3.1 for循环

  for (语句 1; 语句 2; 语句 3){
     被执行的代码块
    }

  语句 1 (代码块)开始前执行 starts.[初始条件]

  语句 2 定义运行循环(代码块)的条件[判断条件]

  语句 3 在循环(代码块)已被执行之后执行[循环增量/减量]

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>for</title>
		<script>
			window.onload=function(){
				/*
				for (语句 1; 语句 2; 语句 3){
				  被执行的代码块
				  }
				语句 1 (代码块)开始前执行 starts.[初始条件]
				语句 2 定义运行循环(代码块)的条件[判断条件]
				语句 3 在循环(代码块)已被执行之后执行[循环增量/减量]
				*/
			   /*
			   var  arr1=new Array(6,5,4,3,2,1);
			   for(var i=0;i<arr1.length;i++){
				   document.write("<h"+arr1[i]+">测试for循环</h"+arr1[i]+">");
			   }
			   */
			   for(var i=10;i>0;i--){
			   		document.write("<h1>数字i=="+i+"</h1>");
			   }
			   
			}
		</script>
	</head>
	<body>
	</body>
</html>

  3.2 for/in

  JavaScript for/in 语句循环遍历对象的属性

  for (保存属性变量 in 对象){

    对象名称[保存属性值的变量] ;//属性值

  }

例如:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>for/in语句</title>
		<script>
			window.onload=function(){
				var user={id:1002,name:"zahngsan",age:23};
				var att="";//保存属性的变量
				for(att in user){
					//alert(user[att])
					alert(att+"=="+user[att])
				}
			}
		</script>
	</head>
	<body>
	</body>
</html>

3.3 while循环

  语法:

  while (判断条件){
     需要执行的代码
    }

     1.初始值需要定义在while语法以外

     2.控制循环增量/减量的代码,需要写在” 需要执行的代码”后面,如果没有就是死循环。

例如: 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>while</title>
		<script>
			var arr=new Array(6,5,4,3,2,1)
			var i=0;//初始值
			while(i<arr.length){
				document.write("<h"+arr[i]+">测试for循环</h"+arr[i]+">")
				i++;
			}
		</script>
	</head>
	<body>
	</body>
</html>

3.4 do{}while循环

  语法

  do{
     需要执行的代码
   }while (判断条件);

   1.初始值需要定义在while语法以外

   2.控制循环增量/减量的代码,需要写在” 需要执行的代码”后面,如果没有就是死循环。

例如:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>while</title>
		<script>
			var arr=new Array(1,2,3,4,5,6);
			var i=0;//初始值
			do{
				document.write("<h"+arr[i]+">测试for循环</h"+arr[i]+">");
				i++;
			}while(i<arr.length)
		</script>
	</head>
	<body>
	</body>
</html>

while与do{}while()的区别?

while是先判断后执行,do{}while()先执行后判断,do{}while()与while同等条件下多执行一次。

while/do{}while()与for的区别

for--在执行的时候需要明确的知道循环的次数

While()/do{}while()----不需要明确的知道循环的次数。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值