1,js是基于web开发的脚本语言
脚本语言是什么?
(1)脚本语言往往不能独立使用,它和HTML/jsp/php/asp.net配合使用
(2)脚本语言也有自己的变量,函数,控制语句(顺序,分支,循环)
(3)脚本语句实际上是解释性语言(即在执行的时候,直接对源码进行执行。)
(4)Java程序,Java->.class->jvm js->浏览器(js引擎来解释执行。)
2,js在客户端(浏览器)执行
3,因为js是由浏览器来解释执行的,因此这里有个问题,不同的类型的浏览器可能对js的支持不一样。
Js的开发工具选择
1 记事本
2 eclipse(myeclipse)
案列1:
需求:打开网页后,显示 hello,world
<html>
<head>
<script language="javascript">
window.alert("hello");
</script>
</head>
<body>
</body>
</html>
(1)js的位置?
Js位置可以随意
(2)js必须用
<script language="javascript">
//js的代码。
</script>
说明:如果没有使用<script>包起来,则浏览器会将其视为普通文本。
(3)在一个html文件中(jsp/php/asp)可以出现多对<script>片段,浏览器会按照先后 顺序依次执行。
案例2:
对前面的程序,改进成一个简单加法运算程序
<html>
<head>
<script language="javascript">
//js中变量的定义(在js中变量用var表示,不管实际类型)
var num1 = 456;
var num2 = 89;
var result = num1+num2;
window.alert('结果是'+result);
</script>
</head>
<body>
</body>
</html>
Js的变量的类型究竟怎样决定
(1)js是弱数据类型语言
即:在定义变量的时候,统一使用var表示,甚至可以去掉var这个关键字。
(2)js中的变量的数据类型是由js引擎决定。
var name=”feipeng”;//name是字符串
var kk = 2; //kk是数字
var yy //yy是undefined
Name=234;//这时name自动变成数。
Js的命名规范(变量函数)
(1)使用大小写字母,数字,下划线,美元符号可以命名
(2)不能以数字开头
(3)不能使用js的关键字/保留字
(4)区分大小写
(5)单行注释// 多行注释/* */
Js的数据类型
(1)基本数据类型
分为:
1,数值
举例:var a=89;//a就是整数
var b=35.6;//b就是小数
特殊的值
NaN(not a number)
var a=”abc”;
Window.alert(parseInt(a));
Infinity(无穷大)
Window.alert(6/0);
*有两个函数可以用于判断NaN,infinity
window.alert(isNaN(“abc”));//返回true
2,字符串
举例说明:
var a="abcd";
var b='abcddd';
var c="adlaj\"jljkj"
window.alert(c);
3,布尔型
举例:
var a=true;
var b=false;
通过typeof可以看到便来那个的具体数据类型是什么?
举例:
<html>
<head>
<script language="javascript">
var v1="abc";
var v2=890;
window.alert("v1是"+typeof v1);
window.alert("v2是"+typeof v2);
v1 = 89;
window.alert("v1是"+typeof v1);
</script>
</head>
<body>
</body>
</html>
(2)复合类型
分为:
1,数组
2,对象
(3)特殊类型
1,null
var a=null;
2,undefine
window.alert(tt);//报错,未定义
var aa;//没有给值
Window.alert(aa);//弹出undefine;
js数据类型的转换
1,自动转换
var a=123;//a是数值
a=”hello”;//a的类型就是string
2,强制转换
比如:
v ar a=”12345”;
a=parseInt(a);//使用系统函数强制转换
var b=90;//b是number
B=b+””;//b就是string
js的运算符
+,-,*,/
%(取模就是计算两个数的余数,通常用于判断两个数是否整除,主要用于整数)
举例:
var a=90;
var b=8;
if(a%b==0){
window.alert("能整除");
}else{
window.alert("不能整除");
}
++运算符
举例:
var a=56;
var b=++a;//b=++a;<==>[a=a+1;b=a;] b=a++;<==>[b=a;a=a+1;]
window.alert(b);
window.alert(a);
--运算符
var a=56;
var b=--a;//b=--a;<==>[a=a-1;b=a;] b=a--;<==>[b=a;a=a-1;]
window.alert(b);
window.alert(a);
+=左加
-=左减
/=左除
%=左取模
案例:
var a=56; var b=90;
a-=34;
b%=a;
window.alert(b);
window.alert(a);
介绍window.prompt,和document.writeln();
举例:
var val=window.prompt("请输入值:");
var val2=window.prompt("请再输入值:");
document.writeln("你的输入是:"+(parseFloat(val)+parseFloat(val2)));
关系运算符
1,==等于 2,>大于 3,<小于
4,>=大于等于 5,<=小于等于
6,!=不等于
案例:
var num1 = window.prompt("请输入第一个数");
var num2 = window.prompt("请输入第二个数");
num1=parseFloat(num1);
num2=parseFloat(num2);
if(num1>num2){
window.alert("num1>num2");
}else if(num1<num2){
window.alert("num1<num2");
}else{
window.alert("num1=num2");
}
javascript的控制语句
(1)顺序控制
对编程而言,不控制其流程就是顺序执行
(2)分支控制
单分支
基本语法
if(条件表达式){
//执行语句
}
双分支
基本语法
if(条件表达式){
}else{
}
编写一个程序,可以输入人的年龄,如果该同志
的年龄大于18岁,则输出“你年龄大于18,要对自己
的行为负责!”。否则,输出“你的年龄不大,这次放
过你了”。
代码:
var age=20;
if(age>18){
window.alert(“大于18”);
}else{
window.alert(“小于18”);
}
多分支
基本语法:
if(条件表达式1){
//执行
}else if(条件表达式2){
//执行
}else...{
//可以有多个else if
}else{
//可以没有。
}
说明:一旦找到一个满足条件的入口,执行完毕后,就直接结束这个多分支
switch
基本语法:
switch(表达式){
case 常量1:
//执行语句
break;
case 常量2:
//执行语句
break;
}
...
js的switch语句数据类型可以使js支持的任何类型(数组和对象外)
case后面的数据类型可以任意(数组和对象除外)
js函数
(1)为什么需要函数
(2)函数的基本概念
为完成某一个功能的代码(语句,指令)的集合
(3)基本语法
Function 函数名(参数列表){
//代码
return 值;//可以选择。
}
(4)案例