JavaScript
主要用于页面编程,是一个解释性的脚本语言。
直接嵌入在HTML中,不需要编译,直接运行即可。调试起来很困难。
功能:
在用户数据提交前进行验证数据格式;
页面特效—菜单,浮动广告,JS游戏等等
JS的注释
<!--document.write("Hello World!")-->
单行注释://注释的内容
多行注释:/* 注释的内容 */
常用的JS函数
- 警告框
alert("警告的文本")
- 确认框
confirm("确认的文本")
- 提示框
prompt("输入的提示信息","默认值")
JS语法
变量的声明:
扩展:Java中变量的声明规则
- 变量必须声明才能使用,在声明的时候必须指定类型,必须赋值才能使用
- 变量名称不能由数字开头,不能与Java中的53个关键字同名
- 变量名称只能由数字、字母、下划线、美元符组成
- 变量名称在同一个作用域内,必须保证唯一
JS中变量的声明规则
- 变量都是统一的类型:var
- 变量赋值是什么类型的数据,变量就是什么类型
- 变量名称不能由数字开头,只能由数字、字母、下划线、美元符组成
JS的变量声明的语法
var 变量名
var 变量名1,变量名2…
扩展:Java中的数据类型
-
基本数据类型
byte short int long float double boolean char -
引用数据类型
JS的数据类型
- 基本数据类型
(1) String类型:字符串可以用单引号或双引号来说明
(2) 数值类型:整数和浮点数
其中整数可以是正整数、零、负整数
浮点数可以是包含小数点的,也可以是科学计数法
(3) Boolean类型:true和false 不能使用0和1替换
(4) Undefined类型:指在变量被创建后,但未给该变量赋值以前所具有的值
(5) Null类型:null值就是没有任何值,什么也不表示 - 复合数据类型
对象,没有类,只有对象;对象可以动态的生成属性
可以使用typeof判断一个变量是什么类型的数据
扩展:Java中的数据类型转换
- 自动类型转换
(1) 将低精度的数据赋值给高精度的数据的时候,会发生自动类型转换
(2) 一个低精度的数据与高精度的数据在进行运算之后,结果转换成高精度数据
(3) 将一个子类对象赋值给父类对象的时候,自动类型转换 - 强制类型转换
(1) 将高精度的类型赋值给低精度的变量的时候,需要强制类型转换
(2) 将一个父类类型的对象赋值给子类类型的对象时,需要强制类型转换
JS里面的类型转换:
- 数值与字符串进行运算之后,结果变为字符串类型。
- 布尔值与字符串进行运算之后,结果变为字符串类型。
- 数值与布尔值进行运算之后,布尔值会变为数值类型,结果也是数值类型。
(true变为1 false变为0)
JS中常用运算符:
算数运算符
+ 加法运算,操作数是两个字符串则连接两个字符串
- 减法运算
* 乘法运算
/ 除法运算 除数可以为0 返回值为infinity
% 取余,两数相除之后的余数
++递增
--递减
逻辑运算符
&& 逻辑与 左右两个值都为true结果为true,否则为false
|| 逻辑或 左右两个值都为false结果为false,否则为true
! 逻辑非 取反
扩展:Java中的数组的声明的语法:
- 静态声明:
类型[ ] 数组对象名称 = {数据1,数据2,数据3…数据n};
类型[ ] 数组对象名称 = new 类型[ ]{数据1,数据2,数据3…数据n}; - 动态声明:
类型[ ] 数组对象名称 = new 类型[长度];
JS中一维数组的声明语法:
数组的声明: 动态声明:var 数组名=new Array(数组大小);
静态声明:var 数组名=[数据1,数据2,数据3...数据n];
concat方法:数组的拼接
<script>
var array=[1,2,3];
var array1=[4,5,6];
var newArray=array.concat(array1);
for(var a=0;a<newArray.length;a++){
alert(newArray[a]);
}
</script>
join方法:数组元素的拼接
<script>
var array=[1,2,3,"hello",true];
var str=array.join("-");
alert(str);
</script>
pop方法:移除数组中的最后一个元素并返回该元素
<script>
var array=[1,2,3,"hello",true];
var str=array.pop();
alert(str);
for(var i=0;i<array.length;i++){
alert(array[i]);
}
</script>
push方法:将新元素添加到一个数组中,并返回数组的新长度值
<script>
var array=[1,2,3,"hello",true];
array.push(world);
for(var i=0;i<array.length;i++){
alert(array[i]);
}
</script>
reverse方法:返回一个元素顺序被反转的Array对象
<script>
var array=[1,2,3,"hello",true];
array.reverse();
for(var i=0;i<array.length;i++){
alert(array[i]);
}
</script>
sort方法:排序
<script>
var array=[1,2,3,6,5,8,7];
array.sort();
for(var i=0;i<array.length;i++){
alert(array[i]);
}
</script>
slice方法:按下标截取数组中元素(前闭后开)
<script>
var array1=[1,2,3,4,5,6];
var newArray=array.slice(0,2);
for(var a=0;a<newArray.length;a++){
alert(newArray[a]);
}
</script>
shift方法:移除数组中第一个元素并返回该元素
<script>
var array=[1,2,3,"hello",true];
var str=array.shift();
alert(str);
for(var i=0;i<array.length;i++){
alert(array[i]);
}
</script>
splice方法:按下角标移除几个元素,也可以替换
<script>
var array=[1,2,3,4,5,6];
var newArray=array.splice(0,2,6,7);
for(var a=0;a<newArray.length;a++){
alert(newArray[a]);//移除的内容
}
for(var i=0;i<array.length;i++){
alert(array[i]);//剩余的内容
}
</script>
JS的流程控制:
if ,if…else ,if…else if…else ,swich
for ,while ,do…while
字符串:String
字符串可以通过单引号引用,可以通过双引号引用。
JS自定义函数:
function 函数名(参数){
函数体;
return 表达式;
}
必须加function(f要小写)
形参不需要写数据类型
有return时,function之前不用写返回值类型
JS事件:
是浏览器响应用户交互操作的一种机制,JavaScript的事件处理机制可以改变浏览器响应用户操作的方式,这样就开发出具有交互性,并易于使用的网页。
浏览器为了响应某个事件而进行函数调用的过程,叫做事件处理。
JS面向对象编程:
JS中没有类的概念,所有的对象都可以动态创建。