JavaScript(ECMAScript)
###概念:一门客户端脚本语言
- JavaScript=ECMAScript + JavaScript自己特有的东西(BOM+DOM)
- 运行在客户端浏览器中的,不需要编译,直接被浏览器解析执行
###功能:
- 可以增强用户和HTML页面的交互过程,控制html元素,让页面有一些动态效果
ECMAScript:客户端脚本语言的标准
基本语法:
与HTML结合方式
内部
可定义在任意位置,定义的位置会影响执行的顺序 外部
注释
- //
- /* */
数据类型
- 原始数据类型(基本数据类型)
- number:数字。 整数/小数/NaN(not a Number 一个不是数字的数字类型)
- 0和NaN为false
- string:字符串
- 空字符串为false
- boolean:布尔值
- null:一个对象为空的占位符
- undefined:未定义,如果一个变量没有被初始化,则默认赋值为undefined
- number:数字。 整数/小数/NaN(not a Number 一个不是数字的数字类型)
- 引用数据类型:对象
- 原始数据类型(基本数据类型)
变量
- Java是强类型语言,JavaScript是弱类型语言
- 语法:
- var 变量名=初始值;
- typeof(变量名) 返回变量的类型
运算符
一元运算符:只有一个运算数的运算符
++,–,+(正号)可以将其他值转换为number类型
算数运算符
赋值运算符
= += -=
比较运算符
===(全等于)先判断类型,如果类型不一样就直接返回false
逻辑运算符
&& & | || !
三元运算符
? :
var a=3;
var b=4;
var c =a > b ? 1: 0 (0)
流程控制语句
- if…else
- switch:
- switch(可以任何类型){case xx: xxx break}
- while
- do…while
- for
基本对象
Function对象
创建方式
- 创建方式1:function fun(a,b){ }
- 创建方式2:var fun = function(a,b){ }
- 形参类型不用写,返回值类型也不用写
- 方法是一个对象,如果定义相同名字会被覆盖
- 方法调用只看名称,不看参数个数
属性:
length:代表形参的个数
Array
创建方式:
- var arr = new Array(元素列表)可空
- var arr = new Array(默认长度)
- var arr = [元素列表]
- 元素类型是可变的,可存不同类型的元素
- 长度可变
方法:
join(“X”)两元素之间的逗号改变成想要的样子
push(元素)向数组的末尾添加一个或更多元素,并返回新的长度
属性:
length:代表数组长度
Boolean
Date
创建方式:
- var date = new Date();
方法:
toLocaleString():返回当前date对象对应的时间本地字符串格式
getTime():获取毫秒值,返回当前时间与1970.1.1 0点的毫秒之差
Math
创建方式:
不用创建,内置对象
方法:
- random() [0,1)的随机数
- ceil(x)向上取整 2.2—>3
- floor(x) 向下取整 2.2—>2
- round(x) 四舍五入
取1-100的随机整数 Math.floor((Math.random()*100))+1
属性:
PI
Number
String
RegExp:正则表达式对象
正则表达式:定义字符串的组成规则
单个字符:[ ]
- \d:单个数字字符
- \w:单个单词字符
量词符号:
?:表示出现0次或1次
*:表示出现0次或多次
+:表示出现1次或多次
{m,n}表示 数量在[m,n]之间
- m如果缺省,{,n}最多n次
- n如果缺省,{m,}最少m次
开始结束符号:
^:开始
$:结束
\w{6,12}
正则对象:
- 创建
- var reg = new RegExp(“正则表达式”)
- 注意:这里定义\w的反斜线需要转义字符来写,\ \w
- var reg = /正则表达式/
- var reg = new RegExp(“正则表达式”)
- 方法:
- test(参数):验证指定的字符串是否符合正则定义的规范
- 创建
function checkUserName() {
//检查用户名是否有误
//获取用户名
var username = document.getElementsByClassName("input_username")[0].value;
//写正则表达式
var reg_username=/^\w{6,12}$/;
//判断用户名与正则表达式的关系
var flag = reg_username.test(username);
//提示信息
if(flag){
document.getElementById("s_username").innerHTML="用户名正确!"
}else{
document.getElementById("s_username").innerHTML="用户名错误!"
}
return flag;
}