JavaScript基础知识2
11.运算符的优先级
在运算符优先级表中越靠上优先级越高,优先计算 如果优先级一样则从左往右计算 可以通过()改变优先级
///使用逗号运算符同时声明多个变量
var a,b,c;
var a=1,b=2,c=3;
12.代码块
程序由一条条语句构成 语句按照自上而下的顺序一条条执行 在JS中可以使用{}来为语句进行分组
同一个{}内的语句称为一组语句,同一组语句要么都执行,要么都不执行
一个{}内的语句称作一个代码块
代码块后面不写分号
JS中代码块只有分组的作用
{
var a=10;
alert("hello");
console.log("yuju")
}
//一个代码块
{
var a=10;
alert("hello");
console.log("yuju")
}
13.条件判断语句
使用条件判断语句可以在执行某个语句之前进行判断,条件成立则执行语句,不成立则不执行
if语句
语法一:
if(条件表达式)
{
语句……
}
<script>
var a=10;
if(a=10)
alert("1");//执行
alert("2");//不会执行
// if语句只能控制紧随其后的语句
if(a>10)
{
alert("1")
alert("2")
}
</script>
语法二:
if(条件表达式)
{
语句……
}
else{语句…}
if(a>10)
{
alert("1");
}
else
{
alert("2");
}
//返回2
语句三:
if(条件表达式)
{
语句……
}
else if(条件表达式){语句}
else if(条件表达式){语句}
…
var a=10;
if(a>10)
{
alert("1");
}
else
{
alert("2");
}
if (a>11) {
alert("1");
}
else if (a>5) {
alert("2");
}
else if(a>2)
{
alert("3");
}
//返回2,三条件成立但不再执行
练习:
**prompt()**可以弹出一个提示框,该提示框会带有有个文本框,用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,用户输入的内容会作为返回值(string类型),可以定义一个变量来接受该内容
var score=prompt("");
//判断小明成绩对应获奖
if (score>100||score<0)
{
alert("error");
}
else if (score==100) {
alert("BMW");
}
else if (score>=80) {
alert("iphone15s");
}
else if (score>=60) {
alert("book");
}
else if (score>0&&score<60) {
alert("die");
}
//判断三个数的大小
var a=+prompt("第1个数:");
var b=+prompt("第2个数:");
var c=+prompt("第3个数:");
if (a<b&&a<c) {
if (b>c) {
alert("a"+"b"+"");
}
else{
alert("a"+"b"+"c");
}
}
if (b<a&&b<c) {
if (a>c) {
alert("b"+"c"+"a");
}
else{
alert("b"+"a"+"c");
}
}
if (c<a&&c<b) {
if (a>b) {
alert("c"+"b"+"a");
}
else{
alert("c"+"a"+"b");
}
}
14.条件分支语句
Switch语句
语法:
switch (条件表达式) {
case :
语句
break;
case :
语句
break;
case :
语句
break;
case :
语句
break;
default:
break;
执行流程:依次将Switch后的值与case进行全等比较;
’结果为true则从对应case语句开始执行,当前case后的所有语句都会被执行
false则不执行
num=2;
switch (num) {
case 1:
console.log("1");
case 2:
console.log("2");
case 3:
console.log("3");
// 返回值为23
default:
break;
}
使用break可以退出Switch语句
num=2;
switch (num) {
case 1:
console.log("1");
break;
case 2:
console.log("2");
break;
case 3:
console.log("3");
break;
// 返回值为2
while语句
语法:
while(条件表达式)
{
语句
}
先判断再执行
while语句在执行时候,先对条件表达式求值判断,如果值为true,则执行循环体,当条件不满足时候,终止循环
//死循环一直执行
while(ture)
{
alert("n++");
}
//可以用break终止
循环内部可以嵌套其他循环
do…while循环
语法:
do {
语句
} while (condition);
先执行再判断
do…whil循环在执行时候会先执行循环体,循环体执行完毕后对条件表达式判定
ture则继续执行循环体
false则结束循环
for循环
for (初始化表达式;条件表达式;更新表达式) { 语句 }
执行流程:
1.执行初始化表达式,初始化变量
2.执行条件表达式,结果true继续执行循环,false直接终止循环
for (i=0;i<7;i++)
{
alert("i");
}
//for循环中三个部分都可以省略,也可以写在外部,如果在for循环中不写任何形式,此时循环式是一个死循环
for(;;)
{
alert("1");
}
//打印1-100内所有奇数
for (var i=1;i<=100;i++)
{
if (i%2!=0) {
console.log("i");
}
}
15.水仙花数
for (var i = 100; i < 1000; i++) {
//判断百位
var b = parseInt(i / 100)
//获取十位的数字
var s = parseInt((i - b * 100) / 10);
//获取个位数字
var g = i % 10;
if (b*b * b+ s * s* s + g * g * g == i) {
console.log(i)
}
16.质数判断
var num=prompt("请输入一个大于一的整数");
//判断这个值是否合法
if (num<=1) {
alert("error");
}
else{
//判断是否为质数
var flag=true;
for (var i=2;i<num;i++) {
if (num%i==0) {
flag=false;
}
}
}
if (flag) {
alert(num+"是质数!!!");
}else{
alert("这不是质数")
}
17.三角星号
for (var i=0;i<5;i++) {
document.write("*  ");
}
document.write("<br/>");
18.九九乘法表
<script>
for (var i = 1; i <= 9 ; i++) {
for (var j = 1; j <= i ; j++) {
document.write(i +"*"+ j + "=" + (i*j) +"  ");
}
//输出换行
document.write( "<br>");
}
</script>
19.break和continue
break
用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环;
continue
语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环
20.计时器
console.time(" “);可以用来开启一个计时器,他需要将一个字符串作为参数,这个字符串将会作为计时器的标识
console.timeEnd(” ");用来停止一个计时器,需要一个计时器的名字作为参数
console.time("test");
主体内容
console.timeEnd("test");