JavaScript
JavaScript主要是用来完成页面数据的验证,
运行在客户端通过浏览器解析JavaScript代码
JS是弱类型语言,弱类型就是类型可变,
Java是强类型语言,强类型就是定义变量时类型已确定而且不可变
JS的三大特点:
1.交互性(可以进行信息的动态交互)
2.安全性(不允许直接访问本地硬盘)
3.跨平台性(只要可以解析JS的浏览器均可运行)
JS的基本使用的一个小demo:
<script type="text/javascript">
alert("123");
</script>
//alert是JS语言的一个警告函数,
其可接受任意类型的参数,该参数就是框内的提示信息
</script>
为提高代码的复用性可引入外部的JS文件方式为:
<script type="text/javascipt" src="路径"></script>
src属性专门用来引入js文件路径(可以是相对路径,也可以是绝对路径)
script标签可以用来定义js代码,也可以用来引入js文件,但在使用时二选一使用不能同时使用Eg:
<script type="text/javascipt" src="路径">
alert("123");
//该用法为错误用法
</script>
但是一个.jsp文件中可存在多个<script></script>
块Eg:
<script type="text/javascipt" src="路径"></script>
...//省略n个<script></script>块
<script type="text/javascipt" src="路径">
alert("123");
</script>
JS中的变量
javascript中的变量类型:
1.数值类型:Number 包含 java中int,double,float,short,long 以及byte
2.字符串类型:String
3.对象类型:Object
4.布尔类型:Boolean
5.函数类型:Function
javascript中特殊的值:
1.undefined:未定义,所有js变量中未赋予初始值的时候默认都是undefined
2.null:空值
3.NAN:全称为not a number,非数字,非数值。
js中变量的定义格式:
var 变量名;
var 变量名 = 值;
demo:
<script type="text/javascript">
var i ;
//alert(i); //undefined
i = 12;
//typeof()是JavaScript语言提供的一个函数
//alert(typeof(i)); //number
i = "abc";
//typeof()可以取出变量的数据类型返回
//aletr(typeof(i));//String
var a = 12;
var b = "abc";
//alert(a * b);//NaN是非数据非数值
</script>
js中关系比较运算:
<, <=, >, >=, !=
- 等于 == 简单的字面值比较
2.全等于 === 除了做字面比较之外,还要对两个变量进行数据类型的比较
<script type="text/javascript">
var a = "1";
var b = 1;
//alert(a == b);//true
//alert(a === b);//false
</script>
js中逻辑运算:
1.且运算:&&
2.或运算:||
3.取返运算:!
在js的语言中所有的变量都可以作为一个boolean类型的变量来使用
0,null,undefined,"",都被认为为flase
<script type="text/javascript">
// var a = 0;
// if(a){
// alert("零为真");
// }else{
// alert("零为假");
// }
// var b = null;
// if(b){
// alert("null为真");
// }else{
// alert("null为假");
// }
// var c = undefined;
// if(c){
// alert("undefined为真");
// }else{
// alert("undefined为假");
// }
var d = "";
if(d){
alert("空串为真");
}else{
alert("空串为假");
}
</script>
/*
&&且运算
有两种情况
第一种:当表达式全为真的时候。返回最后一个表达式的值
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值
||或运算
第一种:当表达式全为假时,返回最后一个表达式的值
第二种:只要有一个表达式为真。就会返回第一个为真的表达式的值
并且&& 且运算和|| 或运算 有短路
短路就是说,当这个&&或||运算有结果了之后。后面的表达式不再只执行
*/
<script type="text/javascript">
//&&运算
var a = "abc";
var b = true;
var c = false;
var d = null;
//第一种:当表达式全为真的时候。返回最后一个表达式的值
//alert(a && b);//true
//alert(b && a);//true
//第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值
alert(a && d);//false
alert(a && c);//null
alert(a && d && c);//false
//||或运算
//第一种:当表达式全为假时,返回最后一个表达式的值
alert(c || d);//false
alert(d || c);//null
//第二种:只要有一个表达式为真。就会返回第一个为真的表达式的值
alert(a || c);//abc
alert(b || c);//true
</script>
数组(重点)
数组定义方式:
js中数组的定义:
格式:
var 数组名 = []; //空数组
var 数组名 = [1,‘abc’,true]; //定于数组同时赋值元素
在javaScript中的数组只要通过数组下标赋值,则最大的下标值就会自动扩容。
函数(重点)
函数的两种定义方式:
第一种,可以使用function关键字来定义函数
function 函数名(形参列表){
函数体
}
Eg:
//定义一个无参函数
<script type="text/javascript">
function fun(){
alert("无参函数被调用了");
}
//定义一个有参函数
function fun2(a , b){
alert("有参函数被调用了a="+ a+"b="+b);
}
//在JS中如若需要定义带有返回值的函数只需要直接使用return语句返回即可Eg:
function fun3(n1,n2){
var num = ni + n2;
return num;
}
alert(fun3(100,100))
</script>
第二种定义方式:
var 函数名 = function (形参列表){
函数体
//无参函数
var fun4 = function(){
alert("这是一个无参函数");
}
//有参类比
}
在JS中函数是不不允许被重载的原因是如若重载新的函数将会覆盖原来的函数。