6、运算符
JS里的运算符和Java中的使用很相似,可以类比进行学习
一元运算符
只有一个运算数的运算符
++ ,-- ,+(正号)
在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
String转number,按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字类型)
var str = +"123"; document.write(typeof (str)+ "<br>"); document.write(str + 1) 结果为 number 124
boolean转number:true转为1,false转为0 var flag = +true; document.write(typeof (flag) + "<br>"); document.write(flag); 结果为 number
算数运算符
+ - * / %
比较简单,看例子
var a = 3; var b = 5; document.write(a+b+ "<br>"); document.write(a-b+ "<br>"); document.write(a*b+ "<br>"); document.write(a/b+ "<br>"); document.write(a%b+ "<br>"); 8 -2 15 0.6
赋值运算符
= += -+
和Java一致,不在演示,会在后面的实例中用到
比较运算符
> < >= <= == ===(全等于)
比较方式:
类型相同:直接比较
类型不同,先转换后比较
document.write((2 > 6) + "<br>"); document.write(("4" < 6) + "<br>"); document.write(("abc" > "abd") + "<br>"); document.write(("123" === 123) + "<br>"); false true false false
字符跟字符比较是按照字典排序进行比的谁在后面谁大
这里着重提下===,全等于,在比较之前,先判断类型,如果类型不一样直接返回false
逻辑运算符
&& || !
类比java中的用法
三元运算符
? :
判断表达式的值,如果为true返回1,为false返回0
<script> var a = 3; var b = 4; var c = a > b ? 1 : 0; alert(c) </script>
特殊语法
JS代码可以不带分号也可以执行
定义变量的时候,加var的是局部变量,不加var的是全局变量
7、流程控制语句
if…else…
和java一样
switch
在java中,switch可以接受的数据类型:byte、int、shor,枚举,String(1.7)
在JS中,switch可以接受任意类型
<script> var a; switch (a) { case 1: alert("number"); break; case "abc": alert("String"); break; case true: alert(true); break; case null: alert("null"); break; case undefined: alert("undefined"); break; } </script> a=什么,网页就弹出什么
while var sum = 0; var num = 1; while (num <= 100){ sum += num++; } alert(sum); 5050
do…while
和java一样
for
for循环中,和Java不同的是变量是var定义的不在是int了
var sum = 0; for (var i = 0; i <= 100;i++){ sum += i; } alert(sum);
for循环嵌套表格
<style> td{ border: 1px solid; } </style> <script> document.write("<table align='center'>"); // 第一层控制行,第二层控制列 for (var i = 1; i < 10; i++) { document.write("<tr>"); for (var j = 1; j <=i; j++) { document.write("<td>"); document.write(i + "*" + j + "=" + i*j+" "); document.write("</td>"); } document.write("</tr>"); } document.write("</table>"); </script>