JavaScript笔记

来源:互联网 发布:战地4破解软件 编辑:程序博客网 时间:2024/06/07 04:09

JS用法

JavaScript在Web 页面中的基本用法有两种。一种是装入页面时动态创建HTML语句,另一种是监视并处理各种用户事件。两种方法结合起来,产生下面用法∶定制Web 页面;动态创建Web 页面;检查CGI 表单数据;管理Cookie;访问框窗。

1. 在HTML文件中,嵌入JavaScript语句格式(内嵌)

<script>   JavaScript函数或语句;    …….</script>

2. 定义 .js 文件(外嵌)

(1) 在 .js 文件中定义JavaScript代码(定义)

把JavaScript代码放在一个独立的扩展名为js的文件中,该文件不含HTML成分,也不包括<script language =”JavaScript”>语句,只是纯javascript语法.

(2) 在HTML文件中调用javascript定义的.js文件(调用)

在文件头部,指明.js文件名,格式如下:

<head>    <script scr="***.js">  </script></head>

JS数据类型

数据类型 说明 Boolean(布尔类型) 布尔值是比较运算的运算结果,其取值只能是false(假)或true(真),false或true都应该使用小写,如表达式7>12的返回值为false。
如果逻辑对象无初始值或者其值为 0、-0、null、”“、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 “false” 时). Number(数字类型) 数字类型的取值范围是(5e-324至1.797693e+308)与(-1.797693e+308至-5e-324),取值范围中的“e+n”表示以10为底数的+n次方。 String(字符类型) 字符类型的数据需包含在单引号(’ ’)或双引号(“”)之间,当然也可以是什么也没有即空字符串,如”JavaScript”、”合肥连邦电脑教育培训中心”等。若需在字符串中显示单引号、双引号以及换行符等特殊字符,须在上述字符前加上右斜杠符号(\),如“\””、“\’”和“\n”分别表示在字符串中显示双引号、单引号和换行符。 Object(对象类型) 对象是属性和方法的集合,基本数据类型的变量其对应值基本上是唯一的,而对象可以根据方法和属性的不同衍生出多个对象。如document对象可根据不同的方法和属性衍生出类似document.write之类的对象。
数组(Array)的数据类型是 object,日期(Date)的数据类型为 object,如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是返回 Object。 Null与Undefind Null的类型是对象,用来表示一个变量没有任何数值,而Undefind是指变量没有定义的任何值。除非特殊场合,否则建议尽可能地避免使用Null和Undefind。 NaN与Infinity NaN与Infinity都属于Number类型,其中NaN的意思是“不是一个数值”或“没有意义的表达式的返回值”,Infinity的意思是“无限大的数值”,当一个数值的值无限大时就可以用Infinity来表示。 Function 函数类型

下表列出了一些判断的特殊情况,以及它们的结果:

表达式 值 null == undefined true null === undefined false “NaN” == NaN false NaN == NaN false false == 0 true false === 0 false true == 1 true true == 2 false undefined == 0 false null == 0 false “5” == 5 true “5” === 5 false

JS函数

定义函数

JavaScript 使用关键字 function 定义函数。函数可以通过声明定义,也可以通过一个表达式定义。

函数声明

function functionName(parameters) {  执行的代码}

函数声明后不会立即执行,会在我们需要的时候调用到。

函数表达式

JavaScript 函数可以通过一个表达式定义。函数表达式可以存储在变量中:

var x = function (a, b) {return a * b};

将函数表达式存储在变量后,变量也可作为一个函数使用:

var z = x(4, 3);

以上函数实际上是一个 匿名函数 (函数没有名称)。

函数存储在变量中,不需要函数名称,通常通过变量名来调用。

调用函数

直接调用

<script>    函数名(参数1,参数2...)</script>

通过事件调用

<input type="button" value="关闭当前窗口" onclick="函数名(参数1, 参数2.)"><body onload="函数名(参数1, 参数2..)">

自调用函数

函数表达式可以 “自调用”。自调用表达式会自动调用。如果表达式后面紧跟 () ,则会自动调用。不能自调用声明的函数。

通过添加括号,来说明它是一个函数表达式:

(function () {    var x = "Hello!!";      // 我将调用自己})();

以上函数实际上是一个 匿名自我调用的函数 (没有函数名)。

函数可作为一个值使用

JavaScript 函数作为一个值使用:

function myFunction(a, b) {    return a * b;}var x = myFunction(4, 3);

JavaScript 函数可作为表达式使用:

function myFunction(a, b) {    return a * b;}var x = myFunction(4, 3) * 2;

函数是对象

在 JavaScript 中使用 typeof 操作符判断函数类型将返回 “function” 。但是将 JavaScript 函数描述为一个对象更加准确。

JavaScript 函数有 属性 和 方法。

arguments.length 属性返回函数调用过程接收到的参数个数:

function myFunction(a, b) {    return arguments.length;}

toString() 方法将函数作为一个字符串返回:

function myFunction(a, b) {    return a * b;}var txt = myFunction.toString();

Note:函数定义作为对象的属性,称之为对象方法。函数如果用于创建新的对象,称之为对象的构造函数。

闭包

var add = (function () {    var counter = 0;    return function () {return counter += 1;}})();add();add();add();// 计数器为 3

变量 add 指定了函数自我调用的返回字值。

自我调用函数只执行一次。设置计数器为 0。并返回函数表达式。

add变量可以作为一个函数使用。非常棒的部分是它可以访问函数上一层作用域的计数器。

这个叫作 JavaScript 闭包。它使得函数拥有私有变量变成可能。

计数器受匿名函数的作用域保护,只能通过 add 方法修改。

Note:闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。

JavaScript 全局函数

函数 描述 decodeURI(uri) 解码某个编码的 URI。 encodeURI(uri) 把字符串编码为 URI。 escape(string) 对字符串进行编码。 eval(string) 计算 JavaScript 字符串,并把它作为脚本代码来执行。 isFinite(value) 检查某个值是否为有穷大的数。 isNaN(value) 检查某个值是否是数字。 Number(object) 把对象的值转换为数字。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。 parseFloat(string) 解析一个字符串并返回一个浮点数。 parseInt(string) 解析一个字符串并返回一个整数。 String(object) 把对象的值转换为字符串。 unescape(string) 对由 escape() 编码的字符串进行解码。

JS对象

String

方法 描述 charAt(index) 返回在指定位置的字符。 charCodeAt(index) 返回在指定的位置的字符的 Unicode 编码。 concat(string1[, string2, …, stringX]) 连接两个或更多字符串,并返回新的字符串。 fromCharCode(n1[, n2, …, nX]) 将 Unicode 编码转为字符。 indexOf(searchvalue[,start]) 返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配字符串则返回 -1。 lastIndexOf(searchvalue[,start]) 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。 match(regexp) 查找找到一个或多个正则表达式的匹配。返回存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null 。 replace(searchvalue,newvalue) 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。 search(searchvalue) 查找与正则表达式相匹配的字符串,返回其起始位置。 slice(start[,end]) 提取字符串的片断,并在新的字符串中返回被提取的部分。 split(separator[,limit]) 把字符串分割为字符串数组。 substr(start[,length]) 从起始索引号提取字符串中指定数目的字符。 substring(from[, to]) 提取字符串中两个指定的索引号之间的字符。 toLowerCase() 把字符串转换为小写。 toUpperCase() 把字符串转换为大写。 trim() 去除字符串两边的空白 valueOf() 返回某个字符串对象的原始值。

Number

方法 描述 toExponential([x]) 把对象的值转换为指数计数法。x规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20。如果省略了该参数,将使用尽可能多的数字。返回String。 toFixed(x) 把数字转换为字符串,结果的小数点后有指定位数的数字。 toPrecision(x) 把数字格式化为指定的长度。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值。 toString([radix]) 把数字转换为字符串,使用指定的基数。 valueOf() 返回一个 Number 对象的基本数字值。

Math

属性 描述 E 返回算术常量 e,即自然对数的底数(约等于2.718)。 LN2 返回 2 的自然对数(约等于0.693)。 LN10 返回 10 的自然对数(约等于2.302)。 LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)。 LOG10E 返回以 10 为底的 e 的对数(约等于0.434)。 PI 返回圆周率(约等于3.14159)。 SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)。 SQRT2 返回 2 的平方根(约等于 1.414)。 方法 描述 abs(x) 返回 x 的绝对值。 acos(x) 返回 x 的反余弦值。 asin(x) 返回 x 的反正弦值。 atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 ceil(x) 对数进行上舍入。 cos(x) 返回数的余弦。 exp(x) 返回 Ex 的指数。 floor(x) 对 x 进行下舍入。 log(x) 返回数的自然对数(底为e)。 max(x,y,z,…,n) 返回 x,y,z,…,n 中的最高值。 min(x,y,z,…,n) 返回 x,y,z,…,n中的最低值。 pow(x,y) 返回 x 的 y 次幂。 random() 返回 0 ~ 1 之间的随机数。 round(x) 把数四舍五入为最接近的整数。 sin(x) 返回数的正弦。 sqrt(x) 返回数的平方根。 tan(x) 返回角的正切。

Date

创建 Date 对象:

var d = new Date();var d = new Date(milliseconds);var d = new Date(dateString);var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
方法 描述 getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 getFullYear() 从 Date 对象以四位数字返回年份。 getHours() 返回 Date 对象的小时 (0 ~ 23)。 getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 getMonth() 从 Date 对象返回月份 (0 ~ 11)。 getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。 setFullYear() 设置 Date 对象中的年份(四位数字)。 setTime() setTime() 方法以毫秒设置 Date 对象。 setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 toDateString() 把 Date 对象的日期部分转换为字符串。 toISOString() 使用 ISO 标准返回字符串的日期格式。 toJSON() 以 JSON 数据格式返回日期字符串。 toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。 toString() 把 Date 对象转换为字符串。 toTimeString() 把 Date 对象的时间部分转换为字符串。 toUTCString() 根据世界时,把 Date 对象转换为字符串。 UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 valueOf() 返回 Date 对象的原始值。

Array

Array 对象用于在变量中存储多个值:

var cars = ["Saab", "Volvo", "BMW"];

第一个数组元素的索引值为 0,第二个索引值为 1,以此类推。

方法 描述 concat(array2,array3,…,arrayX) 连接两个或更多的数组,并返回结果。 copyWithin(target, start[, end]) 从数组的指定位置拷贝元素到数组的另一个指定位置中。 every(function(currentValue[,index,arr])[, thisValue]) 检测数值元素的每个元素是否都符合条件。如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。 fill(value[, start, end]) 使用一个固定值来填充数组。 filter(function(currentValue[,index,arr])[, thisValue]) 检测数值元素,并返回符合条件所有元素的数组。 find(function(currentValue[,index,arr])[, thisValue]) 返回符合传入测试(函数)条件的数组第一个元素。如果没有符合条件的元素返回 undefined findIndex(function(currentValue[,index,arr])[, thisValue]) 返回符合传入测试(函数)条件的数组第一个元素索引。如果没有符合条件的元素返回 -1 forEach(function(currentValue[,index,arr])[, thisValue]) 数组每个元素都执行一次回调函数。 indexOf(item[,start]) 搜索数组中的元素,并返回它所在的位置。 join([separator]) 把数组的所有元素放入一个字符串。默认使用逗号作为分隔符 lastIndexOf(item[,start]) 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。 map(function(currentValue[,index,arr])[, thisValue]) 通过指定函数处理数组的每个元素,并返回处理后的数组。 pop() 删除数组的最后一个元素并返回删除的元素。 push(item1, item2, …, itemX) 向数组的末尾添加一个或更多元素,并返回新的长度。 reduce(function(total, currentValue[, currentIndex, arr])[, initialValue]) 将数组元素计算为一个值(从左到右)。total初始值, 或者计算结束后的返回值。 reduceRight(function(total, currentValue[, currentIndex, arr])[, initialValue]) 将数组元素计算为一个值(从右到左)。 reverse() 反转数组的元素顺序。 shift() 删除并返回数组的第一个元素。 slice(start[, end]) 选取数组的的一部分,并返回一个新数组。 some(function(currentValue[,index,arr])[, thisValue]) 检测数组元素中是否有元素符合指定条件。 sort([sortfunction]) 对数组的元素进行排序。 splice(index,howmany[,item1,…..,itemX]) 从数组中添加或删除元素。howmany 规定应该删除多少元素。必须是数字,但可以是 “0”。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。item 要添加到数组的新元素 toString() 把数组转换为字符串,并返回结果。 unshift([item1,…..,itemX]) 向数组的开头添加一个或更多元素,并返回新的长度。 valueOf() 返回数组对象的原始值。

JSON

方法 描述 JSON.parse(string) 用于将一个 JSON 字符串转换为 JavaScript 对象。 JSON.stringify(object) 用于将 JavaScript 值转换为 JSON 字符串。

Regexp

var patt=new RegExp(pattern,modifiers);var patt=/pattern/modifiers;

模式(pattern)描述了一个表达式模型。

修饰符(modifiers)描述了检索是否是全局,区分大小写等。

注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:

var re = new RegExp("\\w+");var re = /\w+/;
修饰符 描述 i 执行对大小写不敏感的匹配。 g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 m 执行多行匹配。

test()方法搜索字符串指定的值,根据结果并返回真或假。

var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free"));//true//等同于/e/.test("The best things in life are free!"); //true

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

var patt1=new RegExp("e");document.write(patt1.exec("The best things in life are free"));//e

常用正则表达式

表达式 描述 /^\d+.\d+$/ 数字是否带有小数 /^[\u4E00-\u9FA5]{2,4}$/ 校验是否中文名称组成 /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/ 校验电话码格式 /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ 校验邮件地址是否合法

操作对象

for…in语句

格式如下:for(对象属性名 in 已知对象名)

说明:该语句的功能是用于对已知对象的所有属性进行操作的控制循环。它是将一个已知对象的所有属性反复置给一个变量;而不是使用计数器来实现的。该语句的优点就是无需知道对象中属性的个数即可进行操作。

var person={fname:"John",lname:"Doe",age:25};for (x in person) {    txt=txt + person[x];}

with语句

格式如下:with object{...}

使用该语句的意思是:在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。

所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。

this关键字

this是对当前的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于将对象指定当前对象的语句this。

New运算符

虽然在JavaScript中对象的功能已经是非常强大的了。但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。使用New运算符可以创建一个新的对象。其创建对象使用如下格式:

Newobject=NEW Object(Parameters table);

其中Newobject创建的新对象:object是已经存在的对象; parameters table参数表;new是JavaScript中的命令语句。

如创建一个日期新对象

newData=New Data()birthday=New Data (December 12.1998)

之后就可使NewData、birthday作为一个新的日期对象了。

对象属性的引用

对象属性的引用可由下列三种方式之一实现:

使用点(.)运算符

university.Name="云南省"university.city="昆明市"university.Date="1999"

其中university是一个已经存在的对象,Name、City、Date是它的三个属性,并通过操作对其赋值。

通过对象的下标实现引用

university[0]="云南"university[1]="昆明市"university[2]="1999"

通过数组形式的访问属性,可以使用循环操作获取其值。

通过字符串的形式实现

university["Name"]="云南"university["City"]="昆明市"university["Date"]="1999"

BOM 对象

Window 对象表示浏览器中打开的窗口

属性 描述 closed 返回窗口是否已被关闭。 innerHeight 返回窗口的文档显示区的高度。 innerWidth 返回窗口的文档显示区的宽度。 outerHeight 返回窗口的外部高度,包含工具条与滚动条。 outerWidth 返回窗口的外部宽度,包含工具条与滚动条。 pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。 pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。 parent 返回父窗口。 screenLeft 返回相对于屏幕窗口的x坐标 screenTop 返回相对于屏幕窗口的y坐标 screenX 返回相对于屏幕窗口的x坐标 screenY 返回相对于屏幕窗口的y坐标 方法 描述 alert() 显示带有一段消息和一个确认按钮的警告框。 blur() 把键盘焦点从顶层窗口移开。 clearInterval() 取消由 setInterval() 设置的 timeout。 clearTimeout() 取消由 setTimeout() 方法设置的 timeout。 close() 关闭浏览器窗口。 confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。 focus() 把键盘焦点给予一个窗口。 moveBy() 可相对窗口的当前坐标把它移动指定的像素。 moveTo() 把窗口的左上角移动到一个指定的坐标。 open() 打开一个新的浏览器窗口或查找一个已命名的窗口。 print() 打印当前窗口的内容。 prompt() 显示可提示用户输入的对话框。 resizeBy() 按照指定的像素调整窗口的大小。 resizeTo() 把窗口的大小调整到指定的宽度和高度。 scroll()   scrollBy() 按照指定的像素值来滚动内容。 scrollTo() 把内容滚动到指定的坐标。 setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。 setTimeout() 在指定的毫秒数后调用函数或计算表达式。

计时事件

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:
* setInterval() - 间隔指定的毫秒数不停地执行指定的代码
* setTimeout() - 暂停指定的毫秒数后执行指定的代码

setInterval()方法

语法:window.setInterval("javascript function",milliseconds);
window.setInterval()方法可以不使用window前缀,直接使用函数setInterval()

如何停止执行?

clearInterval() 方法用于停止 setInterval() 方法执行的函数代码。

语法:window.clearInterval(intervalVariable)

要使用 clearInterval() 方法, 在创建计时方法时你必须使用全局变量:

myVar=setInterval("javascript function",milliseconds);

然后你可以使用clearInterval() 方法来停止执行。

以下例子,我们添加了 “Stop time” 按钮:

<p id="demo"></p><button onclick="myStopFunction()">Stop time</button><script>var myVar=setInterval(function(){myTimer()},1000);//显示当前时间function myTimer() {   var d=new Date();   var t=d.toLocaleTimeString();   document.getElementById("demo").innerHTML=t;}function myStopFunction(){   clearInterval(myVar);}</script>
setTimeout() 方法

语法:window.setTimeout("javascript 函数",毫秒数);

如何停止执行?

clearTimeout() 方法用于停止执行setTimeout()方法的函数代码。

语法:window.clearTimeout(timeoutVariable)

要使用clearTimeout() 方法, 你必须在创建超时方法中(setTimeout)使用全局变量:

myVar=setTimeout("javascript function",milliseconds);

如果函数还未被执行,你可以使用 clearTimeout() 方法来停止执行函数代码。

以下是同一个实例, 但是添加了 “Stop the alert” 按钮:

var myVar;function myFunction(){    myVar=setTimeout(function(){alert("Hello")},3000);}function myStopFunction(){   clearTimeout(myVar);}

弹出框

可以在 JavaScript 中创建三种消息框:警告框、确认框、提示框。

警告框

警告框经常用于确保用户可以得到某些信息。

当警告框出现后,用户需要点击确定按钮才能继续进行操作。

语法:alert("文本")

确认框

确认框用于使用户可以验证或者接受某些信息。

当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。

如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。

语法:confirm("文本")

提示框

提示框经常用于提示用户在进入页面前输入某个值。

当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。

如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。

语法:prompt("文本","默认值")

属性 说明 appCodeName 返回浏览器的“码名”(?),流行的 IE 和 NN 都返回 ‘Mozilla’。 appName 返回浏览器名。IE 返回 ‘Microsoft Internet Explorer’,NN 返回 ‘Netscape’。 appVersion 返回浏览器版本,包括了大版本号、小版本号、语言、操作平台等信息。 platform 返回浏览器的操作平台,对于 Windows 9x 上的浏览器,返回 ‘Win32’(大小写可能有差异)。 userAgent 返回以上全部信息。例如,IE5.01 返回 ‘Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)’。 javaEnabled() 返回一个布尔值,代表当前浏览器允许不允许 Java。

Screen 对象包含有关客户端显示屏幕的信息

属性 说明 availHeight 返回屏幕的高度(不包括Windows任务栏) availWidth 返回屏幕的宽度(不包括Windows任务栏) height 返回屏幕的总高度 width 返回屏幕的总宽度 pixelDepth 返回屏幕的颜色分辨率(每像素的位数)

History 对象包含用户(在浏览器窗口中)访问过的 URL

方法 说明 back() 加载 history 列表中的前一个 URL forward() 加载 history 列表中的下一个 URL go() 加载 history 列表中的某个具体页面

Location 对象包含有关当前 URL 的信息

属性 说明 protocol 返回地址的协议,取值为 ‘http:’,’https:’,’file:’ 等等。 hostname 返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == ‘www.microsoft.com’。 port 返回地址的端口号,一般 http 的端口号是 ‘80’。 host 返回主机名和端口号,如:’www.a.com:8080’。 pathname 返回路径名,如“http://www.a.com/b/c.html”,location.pathname == ‘b/c.html’。 hash 返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == ‘#chapter4’;如果地址里没有“#”,则返回空字符串。 search 返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == ‘?selection=3&jumpto=4’;如果地址里没有“?”,则返回空字符串。 href 返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用“location.href = ‘…’”,也可以直接用“location = ‘…’”来达到此目的。 方法 说明 reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。 replace() 打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面。

DOM对象

Document 对象

方法 描述 document.createAttribute() 创建一个属性节点 document.createElement() 创建元素节点。 document.createTextNode() 创建文本节点。 document. getElementsByClassName() 返回文档中所有指定类名的元素集合,作为 NodeList 对象。 document.getElementById() 返回对拥有指定 id 的第一个对象的引用。 document.getElementsByName() 返回带有指定名称的对象集合。 document.getElementsByTagName() 返回带有指定标签名的对象集合。 document.querySelector() 返回文档中匹配指定的CSS选择器的第一元素 document.querySelectorAll() document.querySelectorAll() 是 HTML5中引入的新方法,返回文档中匹配的CSS选择器的所有元素节点列表 document.write() 向文档写 HTML 表达式 或 JavaScript 代码。 document.writeln() 等同于 write() 方法,不同的是在每个表达式之后写一个换行符。

元素对象

属性/方法 描述 element.addEventListener() 向指定元素添加事件句柄 element.appendChild() 为元素添加一个新的子元素 element.attributes 返回一个元素的属性数组 element.childNodes 返回元素的一个子节点的数组 element.classlist 返回元素的类名,作为 DOMTokenList 对象。 element.className 设置或返回元素的class属性 element.clientHeight 在页面上返回内容的可视高度(不包括边框,边距或滚动条) element.clientWidth 在页面上返回内容的可视宽度(不包括边框,边距或滚动条) element.firstChild 返回元素的第一个子节点 element.focus() 设置文档或元素获取焦点 element.getAttribute() 返回指定元素的属性值 element.getAttributeNode() 返回指定属性节点 element.getElementsByTagName() 返回指定标签名的所有子元素集合。 element. getElementsByClassName() 返回文档中所有指定类名的元素集合,作为 NodeList 对象。 element.hasAttribute() 如果元素中存在指定的属性返回 true,否则返回false。 element.hasAttributes() 如果元素有任何属性返回true,否则返回false。 element.hasChildNodes() 返回一个元素是否具有任何子元素 element.hasfocus() 返回布尔值,检测文档或元素是否获取焦点 element.id 设置或者返回元素的 id。 element.innerHTML 设置或者返回元素的内容。 element.insertBefore() 现有的子元素之前插入一个新的子元素 element.isContentEditable 如果元素内容可编辑返回 true,否则返回false element.lastChild 返回的最后一个子元素 element.nextSibling 返回该元素紧跟的一个节点 element.nodeName 返回元素的标记名(大写) element.nodeType 返回元素的节点类型 element.nodeValue 返回元素的节点值 element.offsetHeight 返回,任何一个元素的高度包括边框和填充,但不是边距 element.offsetWidth 返回元素的宽度,包括边框和填充,但不是边距 element.offsetLeft 返回当前元素的相对水平偏移位置的偏移容器 element.offsetParent 返回元素的偏移容器 element.offsetTop 返回当前元素的相对垂直偏移位置的偏移容器 element.parentNode 返回元素的父节点 element.previousSibling 返回某个元素紧接之前元素 element.querySelector() 返回匹配指定 CSS 选择器元素的第一个子元素 document.querySelectorAll() 返回匹配指定 CSS 选择器元素的所有子元素节点列表 element.removeAttribute() 从元素中删除指定的属性 element.removeAttributeNode() 删除指定属性节点并返回移除后的节点。 element.removeChild() 删除一个子元素 element.removeEventListener() 移除由 addEventListener() 方法添加的事件句柄 element.replaceChild() 替换一个子元素 element.scrollHeight 返回整个元素的高度(包括带滚动条的隐蔽的地方) element.scrollLeft 返回当前视图中的实际元素的左边缘和左边缘之间的距离 element.scrollTop 返回当前视图中的实际元素的顶部边缘和顶部边缘之间的距离 element.scrollWidth 返回元素的整个宽度(包括带滚动条的隐蔽的地方) element.setAttribute() 设置或者改变指定属性并指定值。 element.setAttributeNode() 设置或者改变指定属性节点。 element.setIdAttribute()   element.setIdAttributeNode()   element.style 设置或返回元素的样式属性 element.tabIndex 设置或返回元素的标签顺序。 element.tagName 作为一个字符串返回某个元素的标记名(大写) element.textContent 设置或返回一个节点和它的文本内容 element.title 设置或返回元素的title属性 element.toString() 一个元素转换成字符串 nodelist.item() 返回某个元素基于文档树的索引 nodelist.length 返回节点列表的节点数目。