JavaScript_语法
- ECMAScript:客户端脚本语言的标准
- 1.基本语法
- 1.与html结合方式
- 内部js
- 定义script,标签体内容就是js代码
- 外部js
- 定义script,通过src属性引入外部的js文件
- 注意:
1.script可以定义在html页面的任何地方,但是定义的位置会影响执行顺序
2.script可以定义多个
- 内部js
- 2.注释:
- 单行注释//注释内容
- 多行注释:/注释内容/
- 3.数据类型:
- 1.原始数据类型(基本数据类型)
- number:数字。整数、小数、NaN(not a nulber 一个不是数字的数字类型)
- string:字符串。字符、字符串 “abc”,”a”,’abc’
- boolean:true/false
- null:一个对象为空的占位符
- undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
- 2.引用数据类型:对象
- 1.原始数据类型(基本数据类型)
- 4.变量
- 变量:一小块存储数据的内存空间
- Java语言是强类型语言,而JavaScript是弱类型语言。
- 强类型:在开辟变量存储空间的时候,定义了空间将来存储的数据的数据类型,只能存储固定类型的数据
- 弱类型:在开辟变量存储空间的时候,不定义空间将来的存储数据类型,可以存放任意类型的数据。
- 语法:
- var 变量名 = 初始化变量值;
- 1.与html结合方式
- 1.基本语法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册页面</title>
<script>
//定义变量
/* var a = 0;
alert(a);
a = "abc";
alert(a); */
//定义number类型
var i1 = 5;
var i2 = 5.1;
var i3 = NaN;
//输出到页面上
document.write(i1+"<br/>"+"<br/>");
document.write(i2+"<br/>"+"<br/>");
document.write(i3+"<br/>"+"<br/>");
//定义string类型
var v1 = "abc";
var v2 = "a";
var v3 = 'b';
document.write(v1+"<br/>"+"<br/>");
document.write(v2+"<br/>"+"<br/>");
document.write(v3+"<br/>"+"<br/>");
//定义boolean类型
var b1 = true;
var b2 = false;
document.write(b1+"<br/>"+"<br/>");
document.write(b2+"<br/>"+"<br/>");
//定义null
var obj = null;
document.write(obj+"<br/>"+"<br/>");
//定义undefined
var n;
document.write(n);
</script>
</head>
<body>
</body>
</html>
5.运算符
- 一元运算符:只有一个运算数的运算符
- ++,–,+(正号) -(负号)
- ++ –:自增(自减)
- ++(–) 在前,先自增(自减),再运算
- ++(–) 在后,先运算,再自增(自减)
- ++ –:自增(自减)
-
- -:正负号
注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
- -:正负号
- ++,–,+(正号) -(负号)
- 算术运算符
- “+”,”-“,”*”,”/”,”%” …
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>算数运算符</title>
<script>
var a = 3;
var b = 4;
document.write(a + b + "<br/>"+"<br/>");
document.write(a - b + "<br/>"+"<br/>");
document.write(a * b + "<br/>"+"<br/>");
document.write(a / b + "<br/>"+"<br/>");
document.write(a % b + "<br/>"+"<br/>");
</script>
</head>
<body>
</body>
</html>
- 赋值运算符
- = += -=…
- 比较运算符
-
< >= <= == ===(全等于)
- 比较方式:
1.类型相同:直接比较
* 字符串:按照字典顺序比较。按位逐一比较,知道得出大小为止。
2.类型不同:先进性类型转换再运算
-
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>比较运算符</title>
<script>
document.write(("a" > "b") +"<br/>"+"<br/>");//false
document.write((3 < 4) +"<br/>"+"<br/>");//true
document.write(("100" == 100) +"<br/>"+"<br/>");//true
document.write(("100" === 100) +"<br/>"+"<br/>");//false
</script>
</head>
<body>
</body>
</html>
- 逻辑运算符
- && || !
- 其他类型转boolean
1.number:0或NaN为假,其他为真
2.string:除了空字符串其他都是true
3.null&undefined:都是false
4.对象:所有对象都为true
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>逻辑运算符</title>
<script>
var flag = true;
document.write(flag+ "<br/>"+"<br/>");//true
document.write(!flag+ "<br/>"+"<br/>");//false
document.write("<hr size='7' color='#FFC0CB'/>");
var i = 3;
var i2 = 0;
document.write(!i +"<br/>"+"<br/>");//false
document.write(!i2 +"<br/>"+"<br/>");//true
var str4 = "abc";
document.write(!str4 +"<br/>"+"<br/>");//false
var str5 = "";
document.write(!str5 +"<br/>"+"<br/>");//true
var obj = null;
var obj2 = undefined;
document.write(!obj +"<br/>"+"<br/>");//true
document.write(!obj2 +"<br/>"+"<br/>");//true
</script>
</head>
<body>
</body>
</html>
- 三元运算符
- ? :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>三元运算符</title>
<script>
var a = 3;
var b = 4;
var c = a > b ? 1:0;
alert(c);
</script>
</head>
<body>
</body>
</html>
6.流程控制语句
- 1.if…else…:
- 2.switch:
- 在java中,switch语句可以接受的数据类型:byte int shor char,枚举(1.5).String(1.7)
- switch(变量):
- case 值:
- switch(变量):
- 在JS中,switch语句可以接受任意的原始数据类型
- 在java中,switch语句可以接受的数据类型:byte int shor char,枚举(1.5).String(1.7)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>switch语句</title>
<script>
var a = "abc";
switch(a){
case 1:
alert("number");
break;
case "abc":
alert("String");
break;
case true:
alert("boolean");
break;
case null:
alert("null");
break;
case undefined:
alert("undefined");
break;
}
</script>
</head>
<body>
</body>
</html>
- 3.while:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>while语句</title>
<script>
// 1 - 100 求和 5050
var sum = 0;
var num = 1;
while (num <= 100){
sum+=num;
num++;
}
alert(sum);
</script>
</head>
<body>
</body>
</html>
- 4.do…while:
- 5.for:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>for语句</title>
<script>
// 1 - 100 求和 5050
var sum = 0;
for (var num = 0; num <= 100; num++) {
sum += num;
}
alert(sum);
</script>
</head>
<body>
</body>
</html>
7.特殊语法
-
语法以;结尾,如果一行只有一条语句则;可以省略(不建议)
-
变量的定义使用var关键字,也可以不使用
- 用:定义的变量是局部变量
- 不用:定义的变量是全局变量
练习:99乘法表
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
</title>
<script>
document.write("<table align='center' border='1'>")
for (var i = 1; i <= 9 ; i ++) {
document.write("<tr>");
for (var j = 1; j <= i ; j ++) {
document.write("<td>");
document.write(i + "*" + j + "=" + (i*j)+" ");
document.write("</td>");
}
document.write("</tr>");
}
document.write("</table>");
</script>
</head>
<body>
</body>
</html>