一.JavaScript的简介
(1)为什么学习JavaScript (作用)。
A、HTML+CSS只是可以有静态的页面,但是没有动态的效果。 B、JS可以实现表单数据的校验。 C、TAB菜单的切换。 D、背景图片的切换。 E、JS小游戏的开发。
(2)JS概念
直译式:不用编译,浏览器内核可以直接解释执行(脚本语言)。
弱类型:变量无类型,只有一种变量类型var。
(3)JS组成
ECMAScript: JavaScript的核心。 文档对象模型(DOM) : DOM(文档对象模型)是HTML和XML的应用程序接口(API) 。DOM将把整个页面规划成由节点层级构成的文档。 浏览器对象模型(BOM) 对浏览器窗口进行访问和操作。
JS缺点:各种浏览器支持JavaScript的程度是不一样的,支持和不完全支持JavaScript的浏览器在浏览同一个带有JavaScript脚本的网页时,效果会有一定的.差距,有时甚至会显示不出来。
二.JS的声明和引入
script代码段不一定必须放到head中,但是建议放到head中,因为浏览器会先解析head。
way of introducing JS.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 【1】JS的引入方式一 -->
<script type="text/javascript">
// 网页中的弹窗
alert("hello world!你好,世界!");
</script>
<!-- 【2】JS的引入方式二 type:引入文件的类型 src:引入文件的路径 charset:指定引入的编码
两种引入方式不能合并使用!-->
<script type="text/javascript" src="./test.js" charset="UTF-8"></script>
</head>
<body>
</body>
</html>
test.js:
alert("我就试试");
三.JS中的变量
[1] JS中变量的声明 var 变量名=值; [2] JS中变量的使用注意的事项 A、js中的变量的名称和java中标识符的命名(可由数字,字母,下划线,$组成,但不能以数字开头)保持一致就可以了。 B、js中变量名称是可以重复的,但是后者的名称会把前者的名称值覆盖。 C、js中末尾即使没有分号结束也是可以的,但是不推荐大家这样书写。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
var a=1;
var b="2";
var c="你好";
var d=true;
var e=new Date();
var f='5';
var z=1.32;
var a=123;
alert(a);
</script>
</head>
<body>
</body>
</html>
四.JS中的数据类型
JS中的数据类型: number (数字类型的数据) string (字符串类型) boolean (布尔数据类型) object (对象类型) JS中特殊数据类型: undefined(未定义) NaN(不是一个数字) not a number null(空对象)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
var a=1; //number
var b=1.2; //number
var c='你'; //string,在js中字符和字符串是一样的类型,即string
var d="我们"; //string
var e=true; //boolean
var f=new Date(); //object
var aa; //undefined
var bb="123a"; //NaN(not a number)
alert(Number(bb));//如果是"123"则可以强转成number类型,但"123a"无法转成number
var cc=null;
alert(typeof cc);//object
var dd="";
alert(typeof dd);//string
//在js中比较时(包括字符串)全部用==,没有equals
alert(c==d)
</script>
</head>
<body>
</body>
</html>
五.运算符
(1)常规运算符
算数运算符
+ - * / % ++ -- 逻辑运算符
& I ! && || ^ < > <= = >= != 连接符
+
(2)特殊运算符
(==)等值符 先比较类型,如果类型一致, 再比较内容 如果类型不一致,这时候会进行强制转换统一转number类型,然后再进行内容的比较 (===)等同符 先比较类型如果类型一致,再比较内容 如果类型不一致直接返回false;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
var a=10;
var b=12.7;
// alert(a+b);//22.7
var c="123";
// alert(a+b+c);//22.7123
var d=true;
var e=1;
// alert(d+e);//2,在js中true就是1,false是0
var f1=true; //转换成number类型后值为1
var f2="true"; //转换成number类型是NaN
var f3=1; //本来就是number类型,1
var f4="1"; //转换成number类型后值为1
// alert(f1==f2);//F
// alert(f1==f3);//T
// alert(f1==f4);//....结果竟然是T
// alert(f2==f3);//F
// alert(f2==f4);//F
// alert(f3==f4);//....结果竟然是T
//下面的输出全是false
alert(f1===f2)
alert(f1===f3)
alert(f1===f4)
alert(f2===f3)
alert(f2===f4)
alert(f3===f4)
</script>
</head>
<body>
</body>
</html>
六.控制语句
条件,分支,循环,和Java里使用方法一样。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
var a=15;
//条件语句
if(a<15){
document.write("1");
}
else if(a>15){
document.write('2');
}
else{
document.write('3');
}
document.write('<br />');
//分支语句
switch(a){
case 10:alert("10");
break;
case 20:alert("20");
break;
case 30:alert("30");
break;
default:
alert("没有对应项!");
break;
}
//循环语句(还有while,do-while,不再展示)
for(var a=1;a<=9;a++){
for(var b=1;b<=a;b++){
document.write(b+'*'+a+'='+a*b+' ');
}
// 直接把信息打印到浏览器上
document.write('<br />');//换行
}
</script>
</head>
<body>
</body>
</html>
七.函数
|