Javascript
a+b>c; a+b b>c?
a=b+c; a=b b+c?
一元运算符 > 二元运算符 > 三目运算符
算术运算符 > 比较运算符 >逻辑运算符
? :
格式:
表达式1 ? 值1 : 值2
含义:
判断表达式1是否成立,如果成立,使用值1,如果不成立,使用值2
document.write(b>c?30:20);
顺序结构
分支结构
循环结构
代码一行接着一行执行
写程序时,注意,先有后有的问题
1)语法:
if(exp){
statement;
}
//判断 exp 条件表达式是否为真,如果为真,执行statement语句
例1:
2)、语法:
if(exp){
statement1;
}
else{
statement2;
}
含义:如果exp表达式为真,执行statement1语句,如果表达式为假,执行statement语句2
例2:
3)语法:
if(exp1){
执行语句1
}
else if(exp2){
执行语句2
}
else if(exp3){
执行语句3
}
……
含义:如果表达式1成立,执行语句1,如果不成立,继续向下执行,判断表达式2是否成立,如果成立,执行语句2,如果不成立,继续向下执行。。。。。。
例3:
4)语法:
if(exp1){
执行语句1;
}
else if(exp2){
执行语句2
}
else{
执行语句3
}
含义:判断exp1表达式是否成立,如果成立,执行语句1,如果不成立,继续向下判断,判断表达式2是否成立,如果成立,执行语句2,如果不成立,直接执行语句3
例4:
switch语句
语法:
switch(变量){
case 常量:
语句1;
语句1;
break; 执行break语句意思是跳出这个switch语句块
case 常量:
语句2;
break;
case 常量:
语句3;
break;
……
default:
语句4;
break; (最后这个break不加也可以)
}
注意:这里的大括号必须要写
例1:
例2:
程序需要反复重复做同样一件事,这时需要使用循环结构:
我需要在页面上输出一张图片?’1.jpg’ />
我需要在页面上输出一百张图片?’1.jpg’ /> ’2.jpg’ /> ’3.jpg’ />
1)for循环
语法:
for(变量赋初值;比较表达式;变量自加或自减){
执行语句
}
例:
for(i=0;i<10;i++){
document.write(i);
}
i=0; //将0赋值给变量i
i<10; //判断i是否小于10,如果满 足,向下执行,否则中止for循环
document.write //输出
i++; //将i的值+1
i<10; //判断i是否小于10,如果满 足,向下执行,否则中止for循环
document.write //输出
i++;
i<10;
document.write
………….
例1:打印10个“hello”
例2:打印数字 1-20
例3:输出8张图片,每张图片的地址依次是images/1.jpg images/2.jpg images/3.jpg
例4:输出一行表格,有九个单元格
例5:输出一个表格,共有九行
例6:输出九九乘法表
例7:死循环
条件一直满足,所以死循环
例8:
输出从10到1
例9:
输出1,3,5,7,9,11,…..
例10:
计算从1+2+3+4….+100,结果:5050
例11:
有一个物体,不知道几个,三三查余二,五五查余三,七七查余二,问这个物体有几个?
2)while循环
语法:
while(exp){
执行语句;
变量的自加的自减;
}
含义:首先,需要对exp表达式进行判断,如果结果为真,执行里面的执行语句,再次进行表达式判断,如果为真,再执行语句,如果为假,循环结束
例1:输出从0-9
例2:输出8张图片
例3:死循环
while(1){
}
while(true){
}
在js中,量的数据类型可以自动转换
false:false、0、””
true:其余为true
3)do…..while循环
语法:
do{
执行语句;
变量的自增或自减;
}
while(exp);
含义:
首先,执行语句,然后自加或自减,再进行exp表达式的判断,如果为真再执行语句,如果为假,循环结束
例:
关于循环的总结:
for循环和while循环的不同?
在已知循环次数的基础上,使用for循环
在循环次数未知的基础上,使用while 循环或do….while循环
while和do….while循环的不同?
while先判断再执行
do…..while先执行再判断
while循环的执行次数是未知的
do….while它最少执行一次
例题:
在页面加载后,随机一个数,1---500之间,弹出一个输入框,由用户输入一个数字,与随机数进行比较,如果大了,提示“大了”,反之提示“小了”,只要回答错误,就继续弹出输入框,如果输入正确,则提示正确,并结束。
1、 跳出循环
break; 跳出整个循环
循环内遇到break关键字之后,整个循环执行结束
continue; 跳出本次循环
循环内遇到continue关键字之后,本次循环结束,开始下一次循环
比如说:我们写了一个很强大的程序,2000行代码。过一段时间,我又需要使用这个功能,如果复制,弊端太多。可以考虑使用函数。
1) 代码重复性使用
2) 模块化编程
定义语法:
function 函数名([参数1,参数2,参数3,…….]){
//执行语句1
//执行语句2
//执行语句3
return ;
}
调用语法:
函数名([参数1,参数2,参数3,……..]);
例1:消息框弹出一些内容
可以看出,函数定义仅仅是定义,不能自己执行,需要使用函数调用语句执行,当执行display()语句时,会执行到函数内部,执行函数内部之后再回到主程序。
例2:将对别人打招呼的语句封装成一个函数
以上程序只能说:你好,不能有针对性。
例3:遇到不同的人,打不同的招呼
例4:函数一般要求内聚性强,耦合性弱。
函数定义时,需要将计算的结果返回给主程序,由主程序控制显示行为,一般由return语句来实现。
例5:函数遇到return 之后,会立即返回到主程序,也就是说,函数会中止后面程序的执行
例5:计算两个的四则运算结果
demo15.js
demo15.html
1、 函数种类:
我们自己封装的函数称为:自定义函数
js系统为我们封装好的函数称为:系统函数
alert(‘hello’);
prompt();
document.write(‘hello’);
2、 作用域链
作用域:
1) 全局作用域
2) 局部作用域
在函数内部就是局部作用域,反之就是全局作用域
在全局作用域中起作用的变量:全局变量
只在局部作用域中起作用的变量:局部变量
例1:关于局部和全局变量的使用
声明了全局变量i,它可以在程序任何地点起作用
声明了函数display,在函数内部定义局部变量j,赋值20
alert(i); 在局部可以使用全局变量
alert(j);在全局,不能使用局部变量,因为函数在运行结束之后,局部变量的内存会被释放
例2:原理
i=30; //没有var声明
上题,执行结果:10
在js中,局部内的变量如果没有var声明,会自动到上一级的作用域中去找,如果找到,就使用,没找到,继续向上找,一直找到全局作用域,如果找到了,就使用,没找到,就自动在全局中定义这个变量
作用域链原理图:
一球自百米高空落下,每次弹起是原来高度的一半,问:第十次接触地面,此球共经历多少米?
一猴,很多桃子,第一天,吃了一半,觉得不过瘾,又多吃一个,第二天,又吃余下的一半,不过瘾,又多吃一个,到了第十天,刚想吃,只有一个了,问:最初有多少桃子。
本文来源:https://www.2haoxitong.net/k/doc/403f4347bed5b9f3f90f1c69.html
文档为doc格式