JavaScript
-
概念: 一门客户端脚本语言
运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎 脚本语言: 不需要编译,直接就可以被浏览器解析执行 -
功能:
可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户体验 -
ECMAScript: 客户端脚本语言的标准
1. 基本语法: 1.与html结合方式 1. 内部js: 定义<script>,标签体内容就是js代码 2. 外部js 定义<script>,通过src属性引入外部的js文件 注意: 1.<script>可以定义在html的任何位置,但是定义的位置会影响执行顺序 2.<script>可以定义多个 2. 注释 单行注释: //注释内容 多行注释: /*注释内容*/ 3. 数据类型 1. 基本数据类型: 1.number: 数字。整数/小数/NaN(not a number)不是一个number的number类型 2.string: 字符串,字符串"abc",'abc' 3.boolean: true与false 4.null: 一个对象为空的占位符 5.undefined: 未定义。如果一个变量没有给初始值,则会被默认赋值为undefined 4. 变量 1. 变量: 一小块存储数据的内存空间 2. java语言是强类型语言,而javaScript是弱类型语言 强类型: 在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据 弱类型: 在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据 5. 运算符 6. 流程控制语句 -
基本对象
-
Function: 函数(方法)对象
-
创建:
1. var func = new Function(形式参数列表, 方法体) 2. function 方法名称(形式参数列表) { 方法体 } 3. var 方法名 = function(形式参数列表) { 方法体 } -
方法
-
属性
length: 代表参数的个数 -
特点
1. 方法定义时,形参的类型不用写,返回值类型也不写 2. 方法是一个对象,如果定义名称相同的方法,会覆盖 3. 在JS中,方法的调用只与方法的名称有关,和参数列表无关 4. 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数 5. 调用: 方法名称(实际参数列表)
-
-
Array: 数组对象
-
创建:
1. var arr = new Array(元素列表); 2. var arr = new Array(默认长度); 3. var arr = [元素列表]; -
方法
join(参数): 将数组中的元素按照指定的分隔符拼接为字符串 push(): 向数组的末尾添加一个或更多元素,并返回新的长度 -
属性
length: 数组的长度 -
特点:
1. JS中,数组元素的类型时可变的 2. JS中,数组长度可变的
-
-
Date: 日期对象
-
创建:
var date = new Data(); -
方法:
toLocaleString(): 返回当前date对象对应的时间本地字符串格式 getTime(): 获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值
-
-
Math: 数学对象
-
创建:
特点: Math对象不用创建,直接使用。Math.方法名(); -
方法:
random(): 返回0-1之间的随机数。含0不含1 ceil(x): 对数进行向上取整 floor(x): 对数进行向下取整 round(x): 把数四舍五入为最接近的整数 -
属性:
PI
-
-
RegExp: 正则表达式对象
1. 正则表达式: 定义字符串的组成规则 1.单个字符: [] 如: [a] [ab] [a-zA-Z0-9_] 特殊符号代表特殊含义的单个字符: \d: 单个数字字符[0-9] \w: 单个单词字符[a-zA-Z0-9_] 2.量词符号: ?: 表示出现0次或1次 *: 表示出现0次或多次 +: 出现1次或多次 {m,n}: 表示m =< 数量 <= n m如果缺省: {,n}最多n次 n如果缺省: {m,}最少m次 2. 正则对象: 1. 创建 1. var reg = new RegExp("正则表达式") 2. var reg = /正则表达式/ 2. 方法 1. test(参数): 验证指定的字符串是否符合正则定义的规范
-
-
BOM
1. 概念: Browser Object Model 浏览器对象模型 将浏览器的各个组成部分封装成对象 2. 组成: Window: 窗口对象 Navigator: 浏览器对象 Screen: 显示器屏幕对象 History: 历史记录对象 Location: 地址栏对象 3. Window: 窗口对象 1. 创建 2. 方法 1. 与弹出框有关的方法: alert() 显示带有一段消息和一个确认按钮的警告框 confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框 prompt() 带有输入框的弹框,返回值是获取用户输入的值 2. 与打开关闭有关的方法 close() 关闭浏览器窗口 open() 打开一个新的浏览器窗口 3. 与定时器有关的方式 setTimeOut(): 在指定的毫秒数后调用函数或计算表达式 * 参数 1. js代码或者对象方法 2. 毫秒值 * 返回值: 唯一标识,用于取消定时器 clearTimeout(): 取消由setTimeout()方法设置的timeout setInterval(): 按照指定的周期(以毫秒计)来调用函数或者计算表达式 clearInterval()取消由setInterval()设置的timeout 3. 属性: 1. 获取其他BOM对象 history location Navigator Screen 2. 获取DOM对象 document 4. 特点 window对象不需要创建就可以直接使用window使用。window.方法名() window引用可以省略。方法名() 4. Location: 地址栏对象 1. 创建(获取): 1. window.location 2. location 2. 方法: reload() 重新加载当前文档.刷新 3. 属性 href 设置或返回完整的URL 5. History: 历史记录对象 1. 创建(获取): 1. window.history 2. history 2. 方法: back() 加载history列表中的前一个url forward() 加载history列表中的下一个url go(参数) 加载history列表中的某个具体页面 参数: 正数: 前进几个历史记录 负数: 后退几个历史记录 3. 属性: length 返回当前窗口历史列表中的url数量 -
DOM
概念: Document Object Model
1. Doucment: 文档对象 1.创建(获取): 在html dom模型中可以使用window对象来获取 1. window.document 2. document 2. 方法: 1. 获取Element对象 1. getElementById(): 根据id属性值获取元素对象,id属性值一般唯一 2. getElementsByTagName(): 根据元素名称获取元素对象们,返回值是一个数组 3. getElementByClassName(): 根据Class属性值获取元素对象们,返回值是一个数组 4. getElementsByName(): 根据name属性值获取元素对象们。返回值是一个数组 2. 创建其他Dom对象 createAttribute(name) createComment() createElement() createTextNode() 3. 属性 2. Element: 元素对象 1. 获取/创建: 通过document来获取和创建 2. 方法: 1. removeAttribute(): 删除属性 2. setAttribute(): 设置属性 3. replaceChild(): 用新节点替换一个子节点 3. 属性: parentNode 返回节点的父节点 3. HTML DOM 1. 标签体的设置与获取: innerHTML 2. 使用html元素对象的属性 3. 控制元素样式 1. 使用元素的style属性来设置 div.style.width = "200px" 2. 提前定义好类选择器的样式,通过元素的className属性来设置class属性值