概念:
一门客户端(浏览器)脚本语言,每一个浏览器都有js引擎。
脚本语言:不需要编译,直接就可以用浏览器解析执行。
最初用来验证表单
功能:1.增强用户与HTML的交互体验
2.可以控制HTML元素
3.让页面有动态效果,增强用户体验
起源:
第一个脚本语言叫做C–,后更名为javascript。
微软曾经抄袭js开发出了jscript。
javascript=ECMAScript(标准)+BOM(js独有)+DOM(js独有)
ECMAScript
1.基本语法
一.与HTML结合(内部js,外部js)
注意
script可以写在任何地方
script可以有多个
注释
//单行注释
/**/多行注释
数据类型
原始数据类型(基本数据类型)
1.number 数字类型,整数,小数,NaN(not a number 不是数字的数字类型)
2.string 字符串类型,”sss“,‘sss’
3.boolean true,false
4.null 一个对象为空的占位符
5.undefined 未定义,如果一个变量没有给出初始值,就会被复制成undefined。
判断类型用 typeof
引用数据类型 对象
变量
一小块存储数据的内存空间
Java是强类型,js是弱类型
var 变量名=初始化值;
typeof
获取变量的类型
运算符
1.一元运算符 ++ – 只有一个运算数的运算符
在js中,如果变量不是我们运算需要的类型,那么js引擎自动把运算数进行类型转换
其他类型转number类型
String转number 返回NaN(有字符的情况下)
boolen true转1 flase转0
2.算数运算符 + - * / %(取模,就是取余)
3.赋值运算符 = += -=
4.比较运算符 > < >= <= == ===(全等于)
1.类型相同:
字符串:根据字典(ASCII)来比较
2.类型不同:
先进行类型转换,在进行比较
5.逻辑运算符 && || !
其他类型转换成boolean
1.number:0返回flase,1与其他返回true
2.string:”“返回flase,其他返回true
3.null undefined 都是flase
4.对象 true
6.三元运算符
?值1:值2
语法
表达式?值1:值2
表达式是true,取值1
表达式是flase,取值2
逻辑控制语句
js中,可以接受任何原始数据类型 number,string,boolean,null,undefined。
1.if…else
2.switch
case1:
break;
3.while
4.do…whie
5.for
js的特殊语法
js中可以不写分号,但是强烈不推荐
变量定义需要var,但其实可以省略,强烈不推荐
区别
写的话:表示一个局部变量
不写的话:
案例:九九乘法表
对象
方法对象 Function
1.创建
不用
var fun=new function(参数列表,方法体)
function 方法名称(形参){
方法体
}
var 方法名 = function(形参){
}
Array对象 数组对象
1.创建数组
var arr = new Array(元素列表)
var arr = new Array(默认长度)
var arr = [];
2.push():往末尾添加新元素,并返回新长度
join(参数):根据参数把数组分割转换成字符串[1,2,3,4,5]
Date 日期对象
Math数学对象
RegExp 正则表达式
定义字符串的组成规则
单个字符 []
例子[a] [ab]
特殊 \d 单个数字字符 [0-9]
\w 单个单词字符[a-zA-Z0-9]
量词符号
? 出现0次或1次
* 出现0次或多次
+ 出现1词或多次
{m,n}最少出现m次,最多出现n次
开始结束符号
^ 开始
$ 结束
Global 全局对象**