JavaScript数据类型、远算符和流程控制
一、JavaScript数据类型
1.数值型:
number整数和浮点数统称为数值。例如23或3.1415926等。
2.字符串型:
String由0个,1个或多个字符组成的序列。在JavaScript中,用双引号或单引号括起来表示,如"您好"、'学习JavaScript' 等。
3.逻辑(布尔)型:
boolean用true或false来表示。
4.空(null)值:
表示没有值,用于定义空的或不存在的引用。要注意,空值不等同于空字符串""或0。
5.未定义(undefined)值:
它也是一个保留字。表示变量虽然已经声明,但却没有赋值。
6.除了以上五种基本的数据类型之外,JavaScript还支持复合数据类型Object,复合数据类型包括对象和数组两种。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>数据类型</title> <script type="text/javascript"> /* 1.js是弱类型的语言脚本,所有的变量对象都是使用var来声明 2.变量声明时没有确定变量类型,在变量赋值时才能确定 3.js中数据类型有哪些?number string true/false null 4.js中变量可以重复声明,会进行覆盖 5.alert(typeof i) 输出变量i的数据类型 6.js中代码可以不用;结尾,其每一行都是一句独立的代码块,但是建议结尾; 7.js中字符串单引号、双引号都可以使用 8.js中同一个变量可以赋值不同类型的数据 9.当给一个变量赋值为null时,变量类型的object类型 10.变量只声明不赋值的情况下,数据类型是undefined 11.对象、数据 可以叫做复合数据类型 12.js中标识符和java保持一致,不要使用$符号 */ // var i=10; // // 打印数据类型 // alert(typeof i) //定义字符串 // var name = '李明'; // alert(typeof name) //字符串可以赋值不同类型的 // var a = 'helloworld' // a = 1234; // alert(typeof a) //bool // var a = 4>5; // alert(a) // //null类型--->object 类型 // var b = null; // alert(typeof b) // var i; // alert(i) // var li = [1,2,3] // alert(li) // alert(typeof li) var d = new Date(); alert(d) alert(typeof d) </script> </head> <body> </body> </html>
二、JavaScript中运算符
1.JavaScript 算数运算符
算数运算符用于对数字执行算数运算:
| 运算符 | 描述 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 取模(余数) |
| ++ | 递加 |
| -- | 递减 |
2.JavaScript 赋值运算符
赋值运算符向 JavaScript 变量赋值。
| 运算符 | 例子 | 等同于 |
|---|---|---|
| = | x = y | x = y |
| += | x += y | x = x + y |
| -= | x -= y | x = x - y |
| *= | x *= y | x = x * y |
| /= | x /= y | x = x / y |
| %= | x %= y | x = x % y |
关于/%
JS中,数字类型都是number,除法的结果中如果没有小数位,直接就是一个整数,如有小数位,才是浮点数

JS中如果出现除零,那么结果是 infinity,而不是报错

<script> /* * 能除尽,则默认结果就是一个整数,不能除尽,结果默认就是浮点数 * 除零不会出现异常,而是出现 Infinity * 和0取余数,出现NaN not a number 不是一个数字 * */ alert(10/3); alert(10/0); alert(10%3); alert(10%0); </script>
JS取余运算对于浮点数仍然有效,如果和0取余数,结果是NaN(not a number)
关于+
+ 同时也是连接运算符,看两端的变量类型,如果都是number那么就是算数中的加法 如果有字符串,那么就是连接符号,如果是布尔类型和number相加,那么会将true转化为1 将false 转化为0
<script> /* * +号中 如果一段是字符串,就变成了文字拼接 * 数字和 boolean类型相加 true会转变成1 false会转变成0 再做数学运算 * */ var i=1; alert(i+1); alert(1+"1"); alert(1+true); </script>
关于=== 等同符
数据类型不同 直接返回false如果类型相同 才会比较内容
<script> /* * === 等同符 * 如果数据类型不同,直接返回false 如果类型相同,才会继续比较内容 * */ var a =1; var b="1"; var c=true; var d="true"; alert(a===b)//f alert(a===c)//f alert(a===d)//f alert(b===c)//f alert(b===d)//f alert(c===d)//f alert("asdf"==="asdf")//t </script>
三、JavaScript流程控制
1.分支结构 if switch
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>分支 结构</title> <script type="text/javascript"> //定义变量表示月份,根据月份输出该月的季节 var i = 3; if(i == 1 || i==2 || i==12 ){ alert("适合去东北,看冰雕"); }else if(i >= 3 && i<=5){ alert("春天来了,踏青"); }else if(i<5 && i<=8){ alert("夏日炎炎,激情正酣"); }else if(i>8 && i<=11){ alert("秋日胡杨,大漠风情"); }else{ alert("查无此月份") } switch(i){ case 3: case 4: case 5: alert("春天到了,万物复苏"); break; case 6: case 7: case 8: alert("夏天到了,夏日炎炎"); break; case 9: case 10: case 11: alert("秋天到了,秋风萧瑟"); break; case 12: case 1: case 2: alert("冬天到了,银装素裹"); break; } </script> </head> <body> </body> </html>
2.循环结构
while do_while for
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>循环结构</title> <script type="text/javascript"> //输出1-10 var i=1; while(i<=10){ alert(i); i++ } //求1-100之间的整数的和 //do-while 条件是否满足都需要执行一次 var sum = 0; var j = 1; do{ sum+=j j++ }while(j<=100); alert(sum); //for 循环 //求和 var s = 0; for(var z = 1;z<=100;z++){ s+=z; } alert(s) </script> </head> <body> </body> </html>
for循环
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>九九乘法表</title> <script type="text/javascript"> for(var i=1;i<=9;i++){ for(var j=1;j<=i;j++){ document.write(i+"*"+j+"="+i*j+" ") } document.write("<br/>") } </script> </head> <body> </body> </html>
四、JavaScript中函数
1.什么是JS的函数?
类似于java中的方法,JS中也可以定义一些函数,java中的方法签名包含访问修饰符,返回值类型,方法名,参数列表,异常列表,但是JS中定义函数的语法相对简单很多,主要以function作为函数关键字,具备函数名和参数列表,但是没有访问修饰符也没有返回值类型关键字和异常列表
2.函数定义的三种语法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>函数</title> <script type="text/javascript"> //方式一: function fun1(){ alert("helloworld"); } //方式二: var fun2 = function(){ alert("helloworld"); } //方式三: 不常用,后面括号中函数体内容要加引号 var fun3 = new Function('alert("helloworld");') //调用函数 fun1(); fun2(); fun3(); </script> </head> <body> </body> </html>
3.函数参数和返回值
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>函数参数和返回值</title> <script type="text/javascript"> /* 传入的形参和实参个数可以不一样 */ /* function func01(a,b,c){ alert(a+b+c); } func01(3,4) //少传参数 NaN func01(3,4,4) func01(3,4,4,5) //多传入参数 多出来的相当于没传 */ /* var func02 = function(a,b){ var c = a + b return c //返回值 } var x = func02(3,4) alert(x) */ //函数本身作为参数传入到另一个函数 function funa(i,j){ return i+j; } function funb(n){ return n(7,8); } var f = funb(funa); alert(f) </script> </head> <body> </body> </html>

浙公网安备 33010602011771号