- Javascript运算符
-
- 要进行各种各样的运算,就要使用不同的运算符号。
- 算术运算符:+、-、*、/、%、++、--
-
- +:A = 10 + 20;
- -:A = 10 - 20;
- *:A = 10 * 20;
- /:A = 10 / 20;
- "%"取余运算符,两个数相除,取余数。
-
- A = 10 % 3; // A = 1,如果余数不为0,则两个不能整除。
- A = 10 % 2; // A = 0,如果余数为0,则两个数能除尽。
显示效果:10不能被3整除// 判断两个数是否能除尽 if (10%3 == 0) { document.write("10能被3整除"); }else { document.write("10不能被3整除"); }
-
-
- “++”加1运算符、也称为自加1
-
- “++”可以做前缀(++i),也可以做后缀(i++)。
- 如果不赋值的话,i++和++i的结果是一样的。
<script type="text/javascript"> var a = 10; // 做后缀,++在变量后 a++; //展开 a = a + 1 // 做前缀,++在变量前 ++a; //展开 a = 1 + a window.alert(a); </script>
-
-
-
-
- 如果要赋值的话,i++和++i的结果就不一样了。
<script type="text/javascript"> var a = 10; // 先赋值后加1 var b = a++; //先将变量a的值赋给变量b,然后再将变量a+1 // a = 11,b = 10 // 先加1后赋值 var c = ++a; //先将变量a的值加1,然后再将变量a赋给变量c // a = 12,c = 12 // 输出变量b和c的结果 document.write("B:"+b+",C:"+c); </script>
- 如果要赋值的话,i++和++i的结果就不一样了。
-
-
-
-
- “--”减1运算符、也成为自减1
-
- “--”可以做前缀(--i),也可以做后缀(i--)。
- 如果不赋值的话,i--和--i的结果是一样的。
- 如果要赋值的话,i--和--i的结果就不一样了。
- 赋值运算符:=、+=、*=、-=、/=
-
- “+=”先加后等。如:a += 10; //展开后 a = a + 10
- “-=”先减后等。如:a -= 10; //展开后 a = a - 10
- "*="先乘后等。
- "/="先除后灯。
- 字符串运算符:+、+=
-
- 字符串只能进行“连接”运算,不能进行其他运算。
-
- var a ="abc";
- var b = a + "def"; //结果 b = a + "def" = "abc" + "def" = "abcdef"
- 比较运算符:>、<、>=、<=、==(相等于)、!=(不等于)、===(全等于)、!==(约等于)
-
- 比较运算符的运算结果是布尔值(true或false)。
-
- A = 10 > 20; //结果A=false
- A = 20 >= 20; // 结果A=true
- A = 10%2 ==0 // 结果 A = true
- A = 10%2 =="0" //结果A=true
- A = 10%3 !=0; //结果A= true
- A = 10%2 ==="0" //结果A=false
- "="是赋值号,如a = 10;
- "=="等于。只比较两个变量的值,而不管类型,只要值一样,就返回true,否则返回false。
- "==="全等于,既比较变量,也判断类型。如果类型和值都一样,返回true,否则返回false。
- 逻辑运算符:&&、||、!
-
- 逻辑运算符的运算结果有两个true或false。
- “&&”逻辑与。如果左右两个操作数都为true,则结果为true;否则,结果为false。
-
- 逻辑与,就是两个条件同时满足时,则结果为false。
<script type="text/javascript"> // 判断一个人的年龄,是否符合当兵的要求 var age = 28; if(age>=18 && age<=25) { document.write("符合当兵年龄要求") }else{ document.write("哪凉快哪儿去") } </script>
-
-
-
- "||"逻辑或。左右两个条件,只要有一个满足,则返回true;否则,返回false。
<script type="text/javascript"> // 判断一个人的年龄,是否符合当兵的要求 var age = 21; if(age<=18 || age>=25) { document.write("符合当兵年龄要求") }else{ document.write("哪凉快哪儿去") } </script>
- "||"逻辑或。左右两个条件,只要有一个满足,则返回true;否则,返回false。
-
-
-
- "!"取反运算。
-
- !true = false; 、!false = true; 、!100 = false;
-
- window.prompt()
-
- 功能:弹出一个输入框,让用户来输入内容。
- 语法:var year = window.prompt(text[,defaultText]);
-
- 参数:
-
- Text:提示信息
- defaultText:可选项,也就是可有可无。输入框中的默认内容。
- 返回值
-
- 如果单击"确定"按钮,返回一个字符串的数据。
- 如果单击"取消"按钮,返回一个null。
<script type="text/javascript"> // 判断用户输入的年份是否是闰年 var year = window.prompt("请输入一个年份"); // 判断用户是否取消操作 if(year==null) { document.write("<h1 style='margin:0 auto;'>傻逼,你已经取消操作</h1>"); }else { /*闰年的条件: (1)能被4整除且不能被100整除 (2)能被400整除。 (3)条件(1)和条件(2)是或的关系*/ if(year%4 ==0 && year%100 !=0 || year%400 ==0) { document.write(year+"是闰年"); }else { document.write(year+"不是闰年"); } } </script><span style="font-size: 16px;"></span>
-
- 三元运算符
-
- 所谓“三元运算符”就是指三个操作数。
- 语法:条件表达式 ? 结果1 : 结果2
- 语法:操作数1 ? 操作数2 : 操作数3
- 含义:如果条件为true,则执行"结果1"的代码;如果条件为false,则执行"结果2"的代码。
- 其实:三元运算符,就是if else的变形形式。
// (2)使用三元运算符 var a = 10; var b = 20; var max = a>b ? a : b; document.write("最大值为:"+max);<strong><span style="color:#2d4fc9;"><span style="font-size: 16px;"></span></span></strong>
-
-
- 实例修改:
<script type="text/javascript"> // 实例:输出个人信息。 // (1)变量初始化 var name = "周更胜"; var sex = "男"; var age = 23; var isMarried = true; var salary = 2000; var bonus = 500; var school = "人民大学"; // (2)构建输出的结果 var str = "<h1 style='color:red;'>\""+name+"\"的基本信息如下</h1>"; str += "姓名:"+name; str += "<br />性别:"+sex; str += "<br />年龄:"+age; str += "<br />婚否:"+(isMarried ? "已婚" : "未婚"); /*if(isMarried) { str += "<br />婚否:已婚"; }else { str += "<br />婚否:未婚"; }*/ str += "<br />基本工资:"+salary; str += "<br />奖金:"+bonus; str += "<br />实发工资:"+(salary+bonus); // if判断:如果school有值,则输出学校名;如果school无值,则输出“未填写” // if的()中只能是布尔值,如果不是布尔值,则要进行类型转换 str += "<br />毕业院校:"+(school ? school : "未填写"); /*if(school) { str += "<br />毕业院校:"+school; }else { str += "<br />毕业院校:未填写"; }*/ // (3)输出结果 document.write(str); </script><span style="font-size: 16px;"></span>
- 实例修改:
-
-
- 特殊运算符
-
- new运算符:创建一个对象。如:var today = new Date(); //创建一个当前系统日期时间对象
- delete运算符:删除数组的元素,或者对象的属性。
- typeof运算符:一元运算符,主要功能:判断变量的类型。如:typeof name 或 typeof(name)
- 点运算符(.):主要应用在对象中,通过点运算符(.)去调用属性或方法。如:window.alert("ok");
- []中括号:主要用来访问数组元素的。如:arr[0] = 100; //找到数组中下标为0的数组元素,并重新赋值。
- 运算符优先级
-
- if条件判断语句:条件成立,执行什么代码;条件不成立,执行什么代码。
-
- 结构1:只判断真(true),条件为假(false),什么都不做.
if(条件判断:判断结果是一个布尔值) { 条件为真(true),执行的代码 }<span style="font-size: 16px;"></span>
- 结构1:只判断真(true),条件为假(false),什么都不做.
-
- 结构2:既判断真,也判断假
if(条件判断:判断结果是一个布尔值 ) { 条件为真(true),执行的代码 }else { 条件为假(false),执行的代码 }<span style="font-size: 16px;"></span>
- 结构2:既判断真,也判断假
-
- 结构3:多条件判断
if(条件1) { 代码1; }else if(条件2) { 代码2; }else if(条件3) { 代码3; }else { 如果以上条件都不成立,则执行该代码; } //注意:虽然有多个条件,但各条件之间是“或”的关系。每时每刻,只能有一个条件成立,不能同时满足多个条件。<span style="font-size: 16px;"></span>
- 结构3:多条件判断
- switch分支语句
-
- 描述:根据一个变量的不同取值,来执行不同的代码。
- 语法结构:
switch(条件判断) { case值1: 代码1; break; case值2: 代码2; break; case值3: 代码3; break; defauly: //如果以上条件都不满足,则执行该代码; }
-
- switch结构说明:
-
- switch、case、break、default都是系统关键字,都必须全小写。
- switch后的小括号():小括号内一般是一个变量名,这个变量可能会有不同的取值。
- 每个case的值,与变量的值进行比对,如果一致就执行该case后的代码。
- 所有的case都是“或”的关系,每时每刻只有一个case会满足条件。
- 每个case的代码执行完毕后,必须要用break语句结束,结束之后,程序将调到switch结束大括号之后运行。
- 如果不写break语句的话,下面所有的case语句都会执行一遍。
<script type="text/javascript"> // 实例:输出今天星期几? /* (1)创建一个日期时间对象,它中有很多的信息:时、分、秒、年、月、日、星期 (2)取出日期对象中的星期值 (3)根据星期值(0-6)来输出中文的星期几。 */ // (1)创建一个日期时间对象 var today = new Date(); // (2)从Date对象中取出星期值 var week = today.getDay(); //返回0-6,0代表星期日 // (3)使用switch来输入今天是星期几 var str = ""; switch(week) { case 1: str = "一"; break; case 2: str = "二"; break; case 3: str = "三"; break; case 4: str = "四"; break; case 5: str = "五"; break; case 6: str = "六"; break; defalut: str = "日"; break; } document.write("今天是星期"+str); </script>
- if多条件判断和switch 的区别
-
- if中的条件一般是一个范围(a>100),而switch中的条件一般是一个变量的不同取值。
- while循环:只要条件成立,就重复不断的执行循环体代码
while(条件判断) { 如果条件为true,则执行循环体代码 }<strong><span style="font-size: 19px;"></span></strong>
-
- 循环结构说明:
-
- 在循环开始前,必须要对变量初始化(声明变量,给变量赋个初始值)。
- 如果while的条件为true,则会重复不断的执行循环体中({})的代码。
- 在循环体中,必须要有“变量更新”的语句。换句话说:两次循环的变量的值不能一样,如果一样,会造成“死循环”。
例题:输出1-10之间的所有数 var i = 1; //变量初始化 while(i<=10) { document.write(i); //1 2 3 4 5 6 7 8 9 10 i++; //变量更新,为了避免出现“死循环” }
例题:输出1-10之间的所有数 var i = 1; //变量初始化 while(i<=10) { document.write(i); //1 2 3 4 5 6 7 8 9 10 i++; //变量更新,为了避免出现“死循环” }
// 实例:把一个字符串,重复的输出1000次。 var a = 1; //(1)变量初始化 // (2)条件判断:条件为true,则执行循环体;条件为false,退出循环 while(a<=1000) { document.write("<h2>(第<font color='#669933'>"+a+"</font>次)第38期PHP基础班</h2>"); a++; //(3)变量更新 }
// 实例:1-100之间的所有偶数 /* (1)输出1-100之间所有的数 (2)筛选出所有偶数 */ var a = 1; //(1)变量初始化 // (2)条件判断:条件为true,则执行循环体;条件为false,退出循环 while(a<=100) { // 如果是偶数则输出。 if(a%2==0) { document.write(a+"、"); } a++; //(3)变量更新 }
//作业:表格隔行变色 <script type="text/javascript"> var str = ""; str += "<table width=500 border=1 rules=all align=center>"; str += "<tr align=center bgcolor=#999999>"; str += "<td><b>编号</b></td><td><b>新闻标题</b></td><td><b>发布时间</b></td>"; str += "</tr>"; // 变量初始化,i代表行号 var i = 1; // 条件成立,则执行循环体,否则退出循环 while(i<=100) { // 偶数行加背景颜色,奇数行不加 if(i%5==0) { str += "<tr align=center bgcolor=#999999>"; }else{ str += "<tr align=center>"; } str += " <td>第<font color=red>"+i+"</font>行</td><td> </td><td> </td>"; str += " </tr>"; i++; //变量更新 } str += "</table>"; // 输出结果 document.write(str); </script>
- for循环
-
- 语法结构
for(变量初始化;条件判断;变量更新) { 循环体代码; }
实例:输出1-100之间的所有数字 for(var i = 1;i <= 100;i++) { document.write(i+"、"); }
- 语法结构
-
- for循环顺序
// 实例:求1-100间所有偶数的和
/*
(1)输出1-100之间所有数
(2)筛选出所有的偶数
(3)所有偶数相加
*/
var b = 0;
for(var a = 1;a <= 100;a++)
{
if(a%2==0)
{
b += a;
}
}
document.write("1-100偶数的和为:"+b);
- break语句
-
- 描述:break语句,用于无条件结束各种循环和switch语句。
- 说明:一般情况下,需要再break语句之前加一个条件判断。换句话:条件成立时,就退出循环。
//1-100所有的数,超过50不再输出 for(var a = 1; a <= 100;a++) { if(a>50) { break; } document.write(a+" "); } </script><span style="font-size: 16px;"></span>
- continue语句
-
- 描述:结束本次循环,而开始下一次循环。
- 说明:一般情况下,需要再continue语句之前加一个条件判断。
//1-100所有的数,超过50不再输出 for(var a = 1; a <= 100;a++) { if(a%2!=0) { continue; //终止本次循环,开始下一次循环 // continue之后的代码不再执行了。 } document.write (a+" "); }