js_day12---js数据类型+运算符+三大流程控制

Day12


javascript数据类型

①基本数据类型:

 

  1. 数值(2)字符串(3)布尔型

     

    小技巧:通过typeof关键字可以看到变量的具体数据类型是什么。

    举例:

 

       <html>
       <head>
	<script language="javascript">
		var v1 = "abc";
		var v2 = 890;
		//typeof 可以看到数据的类型
		window.alert("v1是"+typeof v1);
		window.alert("v2是"+typeof v2);
		v1 = 567;//js是动态语言
		window.alert("v1现在是"+typeof v1);
	</script>
	</head>
	<body>
	</body>
	</html>

 


②复合数据类型

  1. 数组2)对象

 ③特殊数据类型

  1. Null

    举例:var a = null;

    

  2undefine

    举例:window.alert(t); //报错,未定义

         Var aa ;//没有赋值直接用的话,弹出undefined错误

   


javascript基本数据类型三大类型

1、整型常量(10进制、8进制、16进制)

      十六进制以0x0X开头,例如:0x8a

      八进制必须以0开头,例如0123

      十进制的第一位不能是0(数字0除外),例如:123

2、实型常量

      12.3198.985E7(科学计数法)、4e5

  特殊数值:NaN(Not a Number)Infinity(无穷大)

   有两个函数可以判断是不是NaNinfinity

isNaN()—>判断是不是一个数、

isFinite()—>检查某个数是否为有穷大的数。


举例:

var a ="abc";

                    var b =parseInt(a);

                    window.alert(b);



var a ="abc";

                    var b =parseInt(a);

                    window.alert(b);

window.alert(6/0);

widow.alert(isNaN("abc")); //返回真

3、布尔类型

      True false

      举例:var a = true; var b = false;

4String字符串

      javascript

      转义字符:

var c ="asdf\"asd" ; //字符串中有双引号,要用转义字符

       window.alert(c);

js基本语法定义变量、初始化、赋值

      定义变量

             Vara ;这就是定义变量;

初始化变量

      在定义变量的时候,就给值。

      Var a = 45;这就是初始化变量;

给变量赋值

      定义之后,再给值。

 

js基本语法数据类型转换

      自动转换

             数据类型是动态的。//前面提到过

强制转换

             如何字符串转成数字?

             Var a = parseInt(“123”); //使用系统函数强制转换

             Var b = parseFloat(“12.3”);

 

             Var b = 90; //bnumber

             Var b =b+””; // bString

 

js基本语法运算符

      算术运算符

常用的:+(加)、—(减)、x()/(除)、%(取模)

取模通常用于判断两个数是否能够整除。主要用于整数

      

除此之外:还有++(自加)、--(自减)

还有=+-=/=%=等。

      这些和所有编程语言中的一样。

 

关系运算符

== <   <  <=   >=   ! =

 

介绍window.prompt()Document.writeln()方法。

var val = window.prompt("请输入值","");

 varval2 = window.prompt("请再输入一个值")

  window.alert(typeofval);//注意这里接受的是字符串

          document.writeln("您的输入是:"+(parseFloat(val)+parseFloat(val2)));

 

      一个关系运算符的案例:

/*编写一个程序,该程序可以接受两个数(可以是整数,也可以是小数)

                                       并判断两个数的大小*/

                                       var num1 =window.prompt("请输入第一个数:");

                                       var num2 =window.prompt("请输入第二个数:");

                                       num1 =parseFloat(num1);

                                       num2 =parseFloat(num2);

                                       if(num1>num2){

                                              window.alert("num1>num2");

                                              }elseif(num1<num2){

                                                     window.alert("num1<num2");

                                                     }elseif(num1 == num2){

                                                     window.alert("num1= num2");

                                                     }

逻辑运算符

     ①&& || ③! 非

   java语言一样。

   

①If(逻辑表达式1&&逻辑表达式2){

 

}

如果逻辑表达式1true,则js引擎会继续执行逻辑表达式2

如果逻辑表达式1false,则js引擎不会再执行逻辑表达式2

 

If(逻辑表达式1||逻辑表达式2||…){

 

}

如果任何一个逻辑表达式为true,则整个式子为true

 

  1. If(!逻辑表达式){

     

    }

   如果逻辑表达式为true,则【!逻辑表达式】为false

   如果逻辑表达式为false,则【!逻辑表达式】为true

 

特别说明:在逻辑运算中,0、“”、falsenullundefinedNaN均表示为假。

Var a =0;

If(!a){

   Window.alert(“Ok”);

}

  

这里有一个非常重要的知识:

/*js中,||究竟返回什么*/

案例1

   var a = 4;

   var b = 90;

   var c = a||b;//c4,为什么?

   window.alert(c);

 

案例2

var a = 0;

   var b = "";

   var d = false;

   var c = a||b||d;//这时c=false;

   window.alert(c);

 

☞ ||返回的不一定是一个布尔值。

||将返回第一个不为false的值(对象亦可),或是返回最后一个值(如果全部为false的话)

 

位运算和移位运算

Js中的位运算和移位运算,其规范和java一致;

看一个案例:

var a = 4>>2;

//4的二进制是00000100,右移2位,则变成了00000001

window.alert(a);//输出1

 

var a = -4>>2;

//-4的原码:1000000000000100 -->反码:11111111 11111011

//-->补码:1111111111111100,右移2位,则变成了1111111111111111

//-->反码:1111111111111110 -->10000000 00000001

window.alert(a); //输出-1


js基本语法三大流程控制

       顺序控制

       对编程而言,不控制其流程就是顺序执行。

分支控制

单分支

                     基本语法:

       If(条件表达式){

//语句;

}

双分支

       基本语法:

If(条件表达式){

}else{

}

多分支

基本语法:

If(条件表达式1){

}else if(条件表达式2){

}else if…(){

}

强调:一旦找到一个满足条件的入口,执行完毕后,就直接结束。

 

除了if分支还有switch分支:

Switch(条件表达式){

Case 常量1//执行语句;break;

Case 常量2//执行语句;break;

Case …

Default://什么条件都不满足,执行;

}

案例:

var a="90";

                     switch(a){

                            case"90":

                                   window.alert("90");

                                   break;

                            case890:

                                   window.alert("890");

                                   break;  

                            default:

                                   window.alert("没有匹配的值");  

                     }

针对这个案例我们总结出:

▪jsswitch语句数据类型可以是js支持的任何类型(数组和对象除外)

▪case后面的数据类型可以任意(数组和对象除外)

▪break作用是跳出整个switch

如果没有匹配的,则执行default中的语句。

循环控制

       For循环:for(循环初值;循环条件;步长){  //语句  }

for(var i=0;i<10;i++){

                            document.writeln("你好!<br/>");

                     }

流程图:

While循环:

while(条件表达式){   

//语句

条件变化;

 }

do..While循环:

不管怎样,循环体肯定会执行一次。


案例练习:

编写一个程序可以接受一个数:

1计算1+2+3+…+n的值。 2计算1+2+…+n!的值。

<html>
	<head>
		<script language="javascript">
			var n = window.prompt("请输入一个整数");
			n= parseInt(n);
			var res=0;
			for(var i = 1;i<=n;i++){
				res+=i;
			}
			document.writeln("相加结果是"+res);
			
			var res2 =0;
			var temp = 1;
			for(var i=1;i<=n;i++){
				for(var j =1;j<=i;j++){
						temp*=j;
					}
					res2 +=temp;
					temp =1;
			}
			document.writeln("阶乘相加结果是"+res2);
			</script>
		</head>
		<body>
			</body>
	</html>

运行结果:

☞IE8开始提供了开发人员工具,供调试javascript代码使用。

案例练习:

输出菱形:

代码如下:

<html>
	<head>
		<script language="javascript">
			for(var i=0;i<10;i++){
				for(var j=0;j<9-i;j++){
						document.writeln(" ");
					}
				for(var j =0;j<2*i+1;j++){
					document.writeln(" *");
				}
				document.writeln("<br/>")
			}
			for(var i = 0;i<9;i++){
				for(var j=0;j<i+1;j++){
						document.writeln(" ");
				}	
				for(var j =0;j<17-2*i;j++){
					document.writeln(" *");	
				}
				document.writeln("<br/>")
			}
			</script>
		</head>
	<body>
		</body>
	</html>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值