JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言
JavaScript的特点:
(1)、向HTML页面中添加交互行为
(2)、脚本语言,语法和Java类似
(3)、解释型语言,边执行边解释
JavaScript组成:
ECMAScript:类似于JS的API
DOM:页面对象操作
BOM:浏览器对象操作
JavaScript的基本结构:
<script type="text/javascript">
<!—
JavaScript 语句;
—>
</script >
JavaScript的执行原理:
1、浏览器接收用户请求
2、向服务器端请求某个包含JavaScript的页面
3、服务器端把包含JavaScript的HTML文件发送到浏览器客户端,浏览器逐条解析HTML标 签和JavaScript,并将效果呈现给用户
*** 先解析HTML 再解析JavaScript
var 用于声明变量的关键字
var width;
width=5;先声明再赋值
var x,y,z=10; 同时声明和赋值变量(可以同时声明多个赋相同的值)
width = 10;不声明直接赋值
数据类型
undefined 空值
null 空值
number 整数和浮点数
boolean true或false
string 用单引号或双引号声明的字符串
object JavaScript中的数组
typeof运算符:
typeof检测变量的返回值
typeof运算符返回值如下
undefined:变量被声明后,但未被赋值
string:用单引号或双引号来声明的字符串
boolean:true或false
number:整数或浮点数
object:javascript中的对象、数组和null
String对象
属性:
var str="this is JavaScript";
var strLength=str.length; //长度是18
方法:
字符串对象.方法名()
charAt(index) 返回在指定位置的字符
indexOf(str,index) 查找某个指定的字符串在字符串中首次出现的位置
substring(index1,index2) 返回位于指定索引index1和index2之间的字符串 ,并且包括索引index1对应的字符,不包括索引index2对应的字符
split(str) 将字符串分割为字符串数组
数组
创建数组:var 数组名称 = new Array(size);
赋值的方法一:
var fruits = new Array("apple","orange","peach");
方法二:
var fruits = new Array(3);
fruits[0] = "apple";
fruits[1] = "orange";
fruits[2] = "peach";
数组常用属性和方法:
属性:
length 设置或返回数组中元素的数目
方法:
join() 把数组的所有元素放入一个字符串,通过分隔符进行分隔
sort() 对数组排序
push() 向数组末尾添加一个或多个元素,并返回新的长度
运算符号:
算术运算符:
+ - * / % ++ --
赋值运算符:
= += -=
比较运算符:
> < >= <= == != === !==
逻辑运算符:
&& || !
=== 恒等于
类型和值都相等才相等
++和--
不赋值的情况下没有任何区别
逻辑控制语句
if条件语句
switch多分支语句
for、while循环语句
for-in
for(var 变量 in 数组){ }
注释
单行注释://
多行注释:/*....*/
常用系统函数:
parseInt ("字符串")
将字符串转换为整型数字
如: parseInt ("86")将字符串“86“转换为整型值86
parseFloat("字符串")
将字符串转换为浮点型数字
如: parseFloat("34.45")将字符串“34.45“转换为浮点值34.45
用于检查其参数是否是非数字
isNaN()
事件:
onload 一个页面或一副画像完成加载
onclick 鼠标单击某个对象
onmouseover 鼠标指针移到某元素上
onkeydown 某个键盘按键被按下
onchange 域的内容被改变
BOM:浏览器对象模型(Browser Object Model)
BOM提供了独立于内容的、可以与浏览器窗口进行互动的对象结构
BOM可实现的功能:
弹出新的浏览器窗口
移动、关闭浏览器窗口以及调整窗口的大小
页面的前进、后退
history 有关客户访问过的URL的信息
常用方法:
back() 加载history对象列表中的前一个URL
forward() 加载history对象列表中的下一个URL
go() 加载history对象列表中的前一个URL
location 有关当前URL的信息
常用属性:
host 设置或返回主机名和当前URL的端口号
hostname 设置或返回当前URL的主机名
href 设置或返回完整的URL
常用方法:
reload() 重新加载当前文档
replace() 用新的文档替换当前文档
window对象的常用方法
prompt() 显示可提示用户输入的对话框
alert() 显示带有一个提示信息和一个确定按钮的警示框
confirm() 显示一个带有提示信息、确定和取消按钮的对话框
close() 关闭浏览器窗口
open() 打开一个新的浏览器窗口,加载给定URL所指定的文档
setTimeout() 在指定的毫秒数后调用函数或计算表达式
setInterval() 按照指定的周期(以毫秒计)来调用函数或表达式
清除函数:
clearTimeout()
clearInterval()
confirm()与alert ()、 prompt()区别:
alert( ):一个参数,仅显示警告对话框的消息,无返回值,不能对脚本产生任何改变
prompt( ):两个参数,输入对话框,用来提示用户输入一些信息,单击“取消”按钮则返回null,单击“确定”按钮则返回用户输入的值,常用于收集用户关于特定问题而反馈的信息
confirm( ):一个参数,确认对话框,显示提示对话框的消息、“确定”按钮和“取消”按钮,单击“确定”按钮返回true,单击“取消”按钮返回false,因此与if-else语句搭配使用
open() 方法:
window.open("弹出窗口的url","窗口名称","窗口特征”);
窗口特征的属性:
height、width 窗口文档显示区的高度、宽度。以像素计
left、top 窗口的x坐标、y坐标。以像素计
Document对象
常用属性:
referrer 返回载入当前文档的URL
URL 返回当前文档的URL
常用方法:
getELementById() 返回对拥有指定id的第一个对象的引用
getElementByName() 返回带有指定名称的对象的集合
getElementByTagName() 返回带有指定标签名的对象的集合
write() 向文档写文本、HTML表达式或JavaScript代码
Date对象:var 日期对象 = new Date()
常用方法:
getDate() 返回Date对象的一个月中的每一天,范围(1~31);
getDay() 返回Date对象的星期中的每一天,范围(0~6);
getHours() 返回Date对象的小时数,范围(0~23);
getMinutes() 返回Date对象的分钟数,范围(0~59);
getSeconds() 返回Date对象的秒数,范围(0~59);
getMonth() 返回Date对象的月份,范围(0~11);
getFullYear() 返回Date对象的年份,其值为4位数
getTime() 返回自某一时刻(1970年1月1日)以来的毫秒数
Math对象
ceil() 对数字进行上舍入
floor() 对数字进行下舍入
round() 四舍五入
random() 返回0~1之间的随机数
DOM:文档对象模型(Document Object Model)
节点属性:
parentNode 返回节点的父节点
childNodes 返回子节点集合,childNodes[i]
firstChild 返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点
lastChild 返回节点的最后一个子节点
nextSibling 下一个节点
previousSibling 上一个节点
element属性:
firstElementChild 返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点
lastElementChild 返回节点的最后一个子节点
nextElementSibling 下一个节点
previousElementSibling 上一个节点
style属性:
onclick 当用户单击某个对象时调用事件
onmouseover 鼠标移到某元素之上
onmouseout 鼠标从某元素移开
onmousedown 鼠标按钮被按下
操作节点属性
getAttribute("属性名")
setAttribute("属性名","属性值")
创建、插入和删除节点
createElement( tagName) 创建一个标签名为tagName的新元素节点
A.appendChild( B) 把B节点追加至A节点的末尾
insertBefore( A,B ) 把A节点插入到B节点之前
cloneNode(deep) 复制某个指定的节点
removeChild( node) 删除指定的节点
replaceChild( newNode, oldNode) 用其他的节点替换指定的节点
获取元素的样式:
兼容IE:document.getElementById("cartList").currentStyle.display
不兼容IE: document.defaultView.getComputedStyle(cartList,null).display