JavaScript 编程基础 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一、数据类型 数据类型指的是值的类型,有如下: 1、数值型:整数、浮点数; 整数是由数字、正负号、或0所构成,可以用十进制、八进制和十六进制来表示。
浮点数是可以有小数部分的数字值,只能采用十进制,表示形式有普通形式和指数形式(E后面指数部分的位数不能大于3,而且必须是整数,如23E4321和1.2E2.5等都是不合法的)。
2、字符串值:是由0个或多个字符组成的序列,它可以包括大小写字母、数字、标点符号或其他可以显示字符以及特殊字符,也可以包含汉字。在JS中,字符串通过在其首尾添加成对的双引号("")或单引号('')来说明。
3、布尔值:也就是逻辑值,它只有两个值 true 和 false,分别表示逻辑“真”和逻辑“假”。在JS中,也可以用整数0表示false,而非0表示true。 4、空值:就是null,一种特殊的关键字,表示没有值,用于定义空的或不存在的引用。要注意,空值不等同于空字符串或0。当使用对象进行编程时可能会使用这个值。 5、未定义值:就是undefined,表示变量已经声明,但没有赋值;或对象不存在。 6、特殊字符串(转义字符):显示无法输入的字符串,使用\符号开头的字符。
编程实现如下页面: 二、数据类型的转换 1、如果表达式中使用加号(+)运算符,JS自动将数值转成字符串。
2、如果表达式中使用其他运算符,则自动先将字符串转成数值,再进一步运算。
4、指定转换 eval(字符串):转化为相对应的数值。 parseInt(字符串,[底数]):转换成指定底数的数值。 parseFloat(字符串):转换成浮点数值。 三、常量 JS用常量来表示一个固定的值。这所以叫做“常量”,是与“变量”作区分,它是一个常态性的值,不会改变的值。 1、数组常量 所谓的“数组常量”是由一些组件,称作“数组组件”所构成,使用的时候要用中括号[]括起,不同的组件中间用逗号(,)隔开。 job=["教师","学生"] job[0]="教师" job[1]="学生" job=["教师","学生",,"IT"] job[0]="教师" job[1]="学生" job[0]="" job[1]="IT" 四、变量 在程序执行过程中,值不断发生变化的量。从用户角度看,变量就是存取信息的基本单元,从系统角度看,变量是计算机内存中的一个存取空间。它有两个基本特征,即变量名(标识变量的名称)和变量值(变量所存储的数据)。变量的值可以(通过赋值)发生变化,不过在为变量赋予新值之前,它会一直保持它原先所存储的数据。 绝大多数程序都会使用变量,要使用好变量,必须明确变量的命名、变量的类型以及变量的作用域。 1、变量取名 变量名必须以字母或下划线(_)开始,可以含有(0-9、A-Z、a-z、_),不能有(空格、+、-、,等); 不能使用JS中的保留字作为变量名,如var,new,int,goto等等; 变量名区分大小写 2、变量声明 要声明一个变量,可以使用关键字 var ,在这个关键字之后的字符串将代表一个新的变量名,多个变量名之间可以逗号隔开。 var job var name,age,job var i=p=1 var name="张三",age="23" 3、变量赋值 s=12 text="你好!" 4、变量的作用域 全局变量:定义在所有函数体之外,作用范围是整个函数 局部变量:定义在函数体之内,只对该函数是有效的 例: <Script> var JS = "JavaScript"; //JS是全局变量 test(); function test() { var VBS = "VBScript"; //VBS是局部变量 document.write( "<LI>" +JS); document.write( "<LI>" +VBS); } document.write("<LI>" + JS); document.write("<LI>" + VBS); </Script> 五、运算符与表达式 运算符是指定计算操作的一系列符号,也称操作符。运算符用于将一个或几个值进行计算而生成一个新值,对其进行运算的值称为算子或操作数。JS常用运算符包括算术运算符、逻辑运算符、比较运算符、字符串运算符、赋值运算符、条件运算符和其他运算符。 单目运算符:只需一个操作数。如i++ 等; 双目运算符:“操作数1+ 运算符 + 操作数2”组成,即由两个操作数和一个运算符组成。如10+20、"小张"+"小王"等; 三目运算符:条件运算符。 表达式是运算符和操作数组合而成的式子。表达式具有值,这个值是对操作数实施运算符所确定的运算后产生的结果。可分为算术表达式、字符串表达式、赋值表达式以及逻辑表达式等。 1、算术运算术
2、比较运算符 对操作数进行比较,然后返回一个布尔值 true或false。
写出程序执行结果:<小于号,>大于号 3、逻辑运算符
写出程序执行结果: 4、字符串运算符 5、赋值运算符
写出执行结果: 6、条件运算符 一种三目运算符,格式如下: 条件?结果1:结果2 执行结果:首先判断条件,若条件成立,则表达式值为结果1,若条件不成立,则表达式值为结果2 写出执行结果: 7、其它运算符
8、运算符的优先级
写出执行结果: <script language=javascript> var a; a = 3+4*(5+3)%2&&3<4 document.write("3+4*(5+3)%2&&3<4 = "); document.writeln(a); </script> 9、表达式中的类型转换 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
二、JS程序的基本流程
顺序结构:按照语句的书写顺序从头到尾依次执行。
分支结构
三、IF语句
1、if 语句
基本形式:
if(条件)
语句1;
else
语句2;
if(条件)
语句1;
else
语句2;
例:
<script language=javascript>
var x,y,max;
x = parseFloat(prompt("x=:","0"));
y = parseFloat(prompt("y=:","0"));
if (x>y)
max=x;
else
max=y;
alert("最大值是:" + max)
</script>
var x,y,max;
x = parseFloat(prompt("x=:","0"));
y = parseFloat(prompt("y=:","0"));
if (x>y)
max=x;
else
max=y;
alert("最大值是:" + max)
</script>
2、没有else部分的if 语句
基本形式:
if (条件) 语句;
例:
<script language="javascript">
function Click()
{
if(event.button==2)
{
alert('您无权查看右键!');
javascript程序设计软件}
}
usedown=Click;
//将自己的处理函数注册
</script>
<script language="javascript">
function Click()
{
if(event.button==2)
{
alert('您无权查看右键!');
javascript程序设计软件}
}
usedown=Click;
//将自己的处理函数注册
</script>
3、if语句的嵌套
基本形式:
if (条件1)
语句1
else if (条件1)
语句2
else
语句3
语句1
else if (条件1)
语句2
else
语句3
注:
使用语句组:如果程序语句不保一行,必须用大括号括起来。
if语句的书写是比较灵活的,if语句的各个部分既可以分行书写,也可以在同一行中书写。
∙ 如:
if(x>y) max=x;else max=y;
或
if(x>y) max=x;else max=y;
或
if(x>y) max=x;
else max=y;
或
if(x>y)
max=x;else max=y;
else max=y;
或
if(x>y)
max=x;else max=y;
∙ 建议格式:
if(x>y) max=x;else max=y;
或
if(x>y)
max=x; //缩进2~4个空格
else
max=y; //相同。
if(x>y) max=x;else max=y;
或
if(x>y)
max=x; //缩进2~4个空格
else
max=y; //相同。
四、switch 语句
switch语句根据表达式的值,选择不同的分支执行。
switch(表达式)
{
case 常数表达式1:语句1;break;
case 常数表达式2:语句2;break;
…
case 常数表达式n:语句n; break;
default: 语句n+1; break;
}
{
case 常数表达式1:语句1;break;
case 常数表达式2:语句2;break;
…
case 常数表达式n:语句n; break;
default: 语句n+1; break;
}
编程实现2:
case "A":错!香港是中国的特别特政区;
case "B":"错!广州是中国南部的大都市;
case "C":对!北京是中国的首都,在中国北方;
case "D":错!上海是中国东部的大都市";
default:"选择错误!只能选填字母 A、B、C或D";
循环结构
五、for 语句
for语句的格式是:
for(初值表达式;循环判定式;更新表达式) 循环体语句
for(初值表达式;循环判定式;更新表达式) 循环体语句
执行流程
1.计算初值表达式;
2.计算循环判定式(即,条件表达式)的值;
3.如果循环判定式的值为true就执行步骤4,否则退出for语句;
4.执行循环体语句,之后再计算更新表达式;
5.重复执行步骤2,3,4,直至退出循环。
1.计算初值表达式;
2.计算循环判定式(即,条件表达式)的值;
3.如果循环判定式的值为true就执行步骤4,否则退出for语句;
4.执行循环体语句,之后再计算更新表达式;
5.重复执行步骤2,3,4,直至退出循环。
例:
<script language=javascript>
var i,j
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
if(j>1) document.write("\t");
document.write(j+"*"+i+"="+j*i);
}
document.writeln();
}
</script>
var i,j
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
if(j>1) document.write("\t");
document.write(j+"*"+i+"="+j*i);
}
document.writeln();
}
</script>
六、while 语句
格式:
while(循环判定式) 循环体语句
while(循环判定式) 循环体语句
执行流程:
1.计算循环判定式的值;
2.如果循环判定式的值为true,则执行循环体语句,否则退出循环;
3.重复执行步骤1,2,直至退出循环。
1.计算循环判定式的值;
2.如果循环判定式的值为true,则执行循环体语句,否则退出循环;
3.重复执行步骤1,2,直至退出循环。
七、do while 语句
格式:
do 循环体语句 while(循环判定式);
do 循环体语句 while(循环判定式);
执行流程
1.执行循环体语句;
2.计算循环判定式的值;
3.如果循环判定式的值为true,则转去执行步骤1,否则退出循环。
1.执行循环体语句;
2.计算循环判定式的值;
3.如果循环判定式的值为true,则转去执行步骤1,否则退出循环。
例:
<script language="javascript">
var target=66
var number=0
do {
number=prompt("输入数字",number)
if(number==null || number==target)
break
if(number>target){
document.write(number+"太大!<br>")
continue
}
else
if(number!=target){
document.write(number+"太小<br>")
<script language="javascript">
var target=66
var number=0
do {
number=prompt("输入数字",number)
if(number==null || number==target)
break
if(number>target){
document.write(number+"太大!<br>")
continue
}
else
if(number!=target){
document.write(number+"太小<br>")
continue
}
}while(true)
if(number==null)
document.write("猜不出来了吧!告诉你答案为:"+target+"<br>")
else
document.write("恭喜你,猜对了!答案为:"+target+"<br>")
</script>
}
}while(true)
if(number==null)
document.write("猜不出来了吧!告诉你答案为:"+target+"<br>")
else
document.write("恭喜你,猜对了!答案为:"+target+"<br>")
</script>
八、在循环中使用break和 continue 语句
break语句可跳出整个循环语句。
continue跳过循环体中未执行的语句,结束本次循环,跳至求循环判定式,决定是否继续循环。
区别:continue语句只结束本次循环,而break语句则结束整个循环。
例:
<Script>
var i = 5;
while ( i > 0 ) {
if ( i == 3 ) break;
document.write("i = " ,i ,"<BR>");
i--;
}
</Script>
<Script>
var i = 5;
while ( i > 0 ) {
if ( i == 3 ) break;
document.write("i = " ,i ,"<BR>");
i--;
}
</Script>
<Script>
var i = 5;
while ( i > 0 ) {
i--;
if ( i == 3 ) continue;
document.write("i = " ,i ,"<BR>");
var i = 5;
while ( i > 0 ) {
i--;
if ( i == 3 ) continue;
document.write("i = " ,i ,"<BR>");
}
</Script>
</Script>
九、循环的嵌套
在一个循环语句的循环体中也可以包含另一个循环语句,这称为循环的嵌套。
双重循环
多重循环
例:
<script language=javascript>
var i,j
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
<script language=javascript>
var i,j
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
if(j>1) document.write("\t");
document.write(j+"*"+i+"="+j*i);
}
document.writeln();
}
</script>
if(j>1) document.write("\t");
document.write(j+"*"+i+"="+j*i);
}
document.writeln();
}
</script>
十、调试程序
错误分类:一类是语法错误;另一类是语义错误。
所谓调试程序就是排除程序中的错误。
排除语法错误
语法错误是指代码不符合JavaScript的语法规则。
当浏览器执行或制作工具(如FrontPage)预览含有语法错误的页面时,它会提示出现了什么错误以及出错的代码在哪一行。
例:
<script language=javascript>
var x,y,max;
x = parseFloat(prompt("x=:","0"));
y = parseFloat(prompt("y=:","0"));
if x>y
max=x;
else
max=y;
alert("最大值是:" + max)
</script>
<script language=javascript>
var x,y,max;
x = parseFloat(prompt("x=:","0"));
y = parseFloat(prompt("y=:","0"));
if x>y
max=x;
else
max=y;
alert("最大值是:" + max)
</script>
排除语义错误
语义错误是代码符合语法规则,但执行结果不符要求。
原因:
1、没有弄清楚问题
2、算法有误
3、流程控制语句使用不当或者变量使用不当
2、算法有误
3、流程控制语句使用不当或者变量使用不当
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论