引言:
JavaScript是一门弱类型的编程语言,用于给HTML页面添加动态效果与交互操作,其中ECMA相当于JS(JavaScript的简称)的的语言标准,目前最高为ES6
JavaScript和java的区别:
- Java代码需要编译器才能执行,而JS代码不需要编译就能执行;
- Java是基于服务器的语言,JS是基于客户端的语言
- (简单理解为需要在服务器端执行或者在客户端执行的)
JavaScript的特点:表单验证
在向服务器提交前,先做判断输入的信息是否符合要求;不符合的立刻提示用户,符合的就把数据往服务器发送。(例如:中国--发送--太平洋--发送--美国)
JavaScript的基本语法
1.内置JS代码
<script type="text/javascript">
在这里编辑javascript语句;
</script>
2.在页面输出
document.write("hello word"); //显示一行字符串
document.write(1234); //显示一行数字
document.write(sname); //显示变量的值
console.log("内容"); //在控制台打印
注意:
- js区分大小写
- js语句结尾写分号(如果跨行可以不写)
- 大部分语法与java相同
- js注释与java相同
//行注释 /*类注释*/ /**块注释**/
3.声明变量
var 变量名 = 值; //变量的数据类型是根据存入的数据来决定的
//例如:
var i = 100; //这里的i是数字类型number
var a = 'aabbb'; //这里的a是字符串类型string
var b = "aabbb"; //这里的b也是字符串类型string
var os = [1,'2',true,"3"] //这里的os是数组类型,js中的数组没有类型限制
//数组也可以读取到任意下标的值
//长度也是可以任意变化的
var student={ //定义对象,这里定义了一个学生对象,不同于java这里的对象是可以动态增加属性的
"no":1;
"name":"小明";
"age":18;
}
student.address="湖南长沙" //给对象新增了地址属性
document.write(student);
注意:js中不区分单双引号(英文),也可以使用反引号``(tab键上方)
//执行换行指令是<br>
document.write("你好,<br>世界")
//变色指令是<font color=颜色>
document.write("<font color=red>你好!</font>")
var x,y,z=10;
//只有z是10,x和y都是只声明没有赋值的状态
4.外部js的调用
//当我们需要调用外部js代码时需要使用以下指令
<script src="调用地址.js" language="javascript"></script>
5.数据类型
typeof(x) //返回x的类型
undefined //未定义,变量被声明后,未被赋值
NaN //非数字类型,不能用于判断,只能使用isNaN
boolean //布尔类型,true和false
string //字符串类型,用引号来声明的字符串
number //整数或浮点型
object //javascript中的对象、数组、和null
//数据类型之间是可以相互转换的
parseInt("2"); //将字符串转换成整数
parseFloat("1.23"); //将字符串转换成小数
6.运算符
//js中的加减乘取模取整同样适用
alert(10/3); //只做运算不做取整
alert(parseInt(10/3)); //取整数部分:3
//在js中,'比较','并且'和'或者'都与java相同,("=="是比较,"&&"是并且,"||"是或者)
注意:
= 是赋值
== 是比较(无视类型)(1=='1' 返回的是boolean类型 true)
=== 也是比较但先比较类型再比较值(1==='1' 返回的是boolean类型 false)
在变量前加一个!是'非';加两个!!就会得到boolean类型
以下情况会得到false:
- 字符串:" " 为false
- 数字: 0 为false
- null 也为false
- undefined (未定义) 也为false
- NaN 也为false
拓:js的短路特性
//判断中,在||中只要有一个为真即为真,在&&中只要有一个为假都为假
console.log(""||0); //这里会打印0,判断为假时代码会继续执行寻找为真情况,当代码执行完时无真,即返回最后
console.log(1||0); //这里会打印1,在||中判断为真即为真,返回为真第一个
console.log("2"||"1"||1); //这里会打印2,道理同上段
console.log("2"&&"1"&&1); //这里会返回第三个1,在&&中代码需要检测后面是否存在为假部分
console.log("2"&&0&&1); //在&&中为假,返回为假时的情况
1.if语句
if(true){ //和java一致,圆括号内放boolean类型作为条件
//需要执行的代码
}
2.switch判断语句
switch(1){ //和java代码一致,圆括号放数据类型
case 1: //判断和原来数据类型是否一致
break; //停止
case 2:
break;
default break; //如果不满足以上条件进入到默认条件
}
//注意:接收到的数据类型必须一致,例如:'1'和1无法作比较,但不同类型的可以直接相加减
3.循环语句
//这里的循环语句和java语句相同
while(true){ //圆括号放循环条件,是一个布尔类型
//循环内容
}
for(number i=0;i<=100,i++){ //圆括号里分别放:起始语句,结束条件,循环依据
//循环内容
}
7.弹出消息框
//1.提示消息框
alert("消息框内容");
//注意要写在控件里面:
<input type ="button" value="确定" onclick="javascript:alert('你点我了吗')">
//2.询问消息对话框:带确定和取消按钮
confirm("消息框内容");
//confirm()返回的是boolean类型,点确定会返回true,点取消会返回false,这可以用来检测用户点击了确定还是取消
//3.输入消息对话框
prompt("提示消息","输入框默认信息");
//对输入的消息进行捕捉:
var a = prompt("");