JavaScript:客户端脚本语言(用于给浏览器Browser解析渲染使用,不需要编译)
- 历程
- 1992年,Nombase公司开发出C–,后更名为ScriptEase
- 1995年,Netscape公司开发Live Script,SUN公司专家修改更名为JavaScript
- 1996年,微软开发JScript。
- 1997年,ECMA指定标准,统一所有客户端脚本语言的编码方式。
基本三层 | 组成 |
---|---|
表示层 | 由用户界面和界面代码构成 |
业务层 | 包含系统的业务和功能代码 |
数据存取层 | 负责完成存取数据库操作 |
-
在html中定义
<script>
,内外区别就是有无src,src写地址引入外部的js文件 -
原始数据类型:“引入了var类型之后定义变得更加的随意……”“typeof方法看数据类型”
- number:数字。 整数/小数/NaN (not a number 一个不是数字的数字类型)
- string:字符 串。 字符串 “abc” “a” ‘abc’
- boolean: true和false
- null:一个对象为空的占位符(输出会变成object,这是一个BUG)
- undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
-
动态网页是指原来并不存在的、在客户端发出请求后由服务器动态生成的网页!
- 动态网页是指在服务器端运行的程序或者网页,会根据不同客户、不同时间返回不同的网页
-
比较运算符
- 比较方式:
- 类型相同:直接比较
- 字符串:字典顺序(按位一个一个比较,就跟手机里面联系方式的排序方法差不多)
- 类型不同:先转换再比较
- 全等于(===):类型一样是前提条件
- 类型相同:直接比较
- 比较方式:
-
逻辑运算符:(具有短路性)
- number:非0为true;NaN或者0为false
- string:null为false
- 判断空字符串简化书写……
-
流程控制语句:if-else
- switch(变量):case 值(JS中可以接收任意类型的变量)
-
(特殊语法):
- 如果语句只有一行,那么可以不加;(不推荐)
- 用var变量定义的是局部变量;不用的是全局变量(不推荐)
Function对象
- 方法的调用和方法的名字有关,但是和参数列表无关(会直接赋值undefined)
- 创建对象:
- function f (a,b,c){alert(a+b)}
- var f = function(a,b,c){alert(a+b)}
- 属性:
- length:形参的个数(可以用于for循环赋值用)
- 方法覆盖不报错
- 调用方法时,参数列表不一定等于我要给的方法(可以少给或者直接不给参数)
- 方法声明中,隐藏了一个内置对象(数组),argument封装所有的实际参数。
- argument[0]……
Array对象
- 创建数组
var arr2 = new Array(3);
var arr3 = [1, 2, 3];
-
- 放元素列表、给Array的默认长度
- 各种类型的元素都可以往里面放,“abc”,1……
- 方法:
- length属性:表示数组的长度
- join("–")方法添加分隔符,拼接为字符串
- push("")添加元素方法(向数组的末尾添加一个或更多元素,并返回新的长度。)
Date对象
- 方法(注意新建的时候对象的Date是大写开头)
- var date = new Date();
- toLocaleString():返回当前date对象对应的时间本地字符串格式
- getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差
Math对象
- 方法:
- PI,圆周率
- random():随机0-1之间的数字,左开右闭
- ceil():floor():向下取整
- round():四舍五入
RegExp:正则表达式对象
* 正则表达式:定义字符串的组成规则。
1. 单个字符:[]
如: a a-zA-Z0-9_
特殊符号代表特殊含义的单个字符:
\d:单个数字字符 0-9
\w:单个单词字符a-zA-Z0-9_
1. 1. 量词符号:
?:表示出现0次或1次
:表示出现0次或多次
+:出现1次或多次
{
m,n}:表示 m<= 数量 <= n
m如果缺省: {
,n}:最多n次
n如果缺省:{
m,} 最少m次
1. 1. 开始结束符号
* ^:开始
* $:结束
正则对象:
- 创建
- var reg = new RegExp(“正则表达式”);
- var reg = /正则表达式/;
- 方法
- test(参数) 验证指定的字符串是否符合正则定义的规范
表单校验