概念:客户端脚本语言,运行在客户端浏览器。不需要编译,直接可以被浏览器解析执行。
功能:可以增强用户和html的交互过程,可以用来控制html元素,让页面有动态的效果。
JavaScript = ECMAScript + JavaScript自己特有的东西(BOM+DOM)
ECMAScript:客户端脚本语言的标准
1.基本语法
1.与html结合方式
1.内部JS
<script>
alert("nihao!")
</script>
2.外部JS
<script src="js/a.js"></script>
2.注释
1.单行注释:// 注释内容
2.多行注释:/* 注释内容 */
3.数据类型
1.原始数据类型(基本数据类型)
1.number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
2.string:字符串。字符串 "abc" "a" ‘abc'
3.boolean:true/false
4.null:一个对象为空
5.undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
2.引用数据类型:对象
4.变量
var 变量名 = 初始化值;
用var定义的变量是局部变量,不用var定义的变量是全局变量。
5.运算符
6.流程控制语句
if else switch while dowhile for
2.基本对象
1.Function:描述一个方法或函数对象
1.创建
1.var fun = new Function(形参列表,方法体);
var fun1 = new Function("a","b","alert(a);");
fun1(3,4);
2.function 方法名称(形式参数列表){方法体}
function fun2(a,b){
alter(a);
}
3.var 方法名 = function(形式参数列表){方法体}
var fun3 = function(a,b){
alert(a);
}
2.方法
3.属性
4.特点
1.方法定义时,形参的类型不用写,返回值类型也可以不写。
2.方法是一个对象,如果定义名称相同的方法,会覆盖。
3.在js中,方法的调用只与方法的名称有关,和参数列表无关
4.在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数。
5.调用
1.方法名称(实际参数列表);
2.Array
1.创建
1.var arr = new Array(元素列表);
2.var arr = new Array(默认长度);
3.var arr = [元素列表];
2.方法
join():将 数组中的元素按照指定的分隔符拼接为字符串。
push():向数组的末尾添加一个或者多个更多元素,并返回新的长度
3.属性
length:数组的长度
4.特点
1.JS中,数组元素的类型是可变的。
2.JS中,数组长度是可变的。
3.Date
1.创建
var date = new Date();
2.方法:
toLocalString():返回当前date对象对应的时间本地字符串格式
getTime():获取毫秒值。返回当前日期对象描述时间和1970年1月1日0点的毫秒值差。
4.Math
1.创建
Math对象不用创建可以直接使用
2.方法
random():返回0~1之间的随机数,含0不含1.
ceil(x):对数进行上舍入。
floor(x):对数进行下舍入。
round(x):把数四舍五入为最接近整数。
5.RegExp:正则表达式对象,定义字符串的组成规则。
1.单个字符:[] 如:[a] [ab] [a-zA-Z0-9] *特殊符号代表特殊含义的单个字符 \d:单个数字字符 \w:单个单词字符
2.量词符号:*:表示出现0次或多次 ?:出现0次或1次 +:出现1次或多次 {m,n}:表示m<= 数量 <=n
3.开始结束符号:开始:^ 结束:$
4.创建
var reg = new RegExp(正则表达式);
var reg = /正则表达式/;
4.方法
test(参数):验证指定的字符串是否符合指定的规范。
6.Global
1.特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名();
2.方法:
encodeURI():URL编解码
decodeURI():URL解码
encodeURIComponent()
decodeURIComponent()
paseInt():将字符串转为数字
eval():将JavaScript字符串转为脚本代码执行。