您现在的位置是:主页 > news > 做网站宿迁/网站seo设计方案案例
做网站宿迁/网站seo设计方案案例
admin2025/5/16 16:26:50【news】
简介做网站宿迁,网站seo设计方案案例,wordpress+整合js,布吉附近做网站JS用法 JavaScript在Web 页面中的基本用法有两种。一种是装入页面时动态创建HTML语句,另一种是监视并处理各种用户事件。两种方法结合起来,产生下面用法∶定制Web 页面;动态创建Web 页面;检查CGI 表单数据;管理Cookie…
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 对象的原始值。 |
使用JavaScript获取不同时区的时间
利用Date对象得到本地时间
var d = new Date();
var localTime = d.getTime(); //通过调用Data()对象的getTime()方法,即可显示1970年1月1日后到此时时间之间的毫秒数。
接下来,通过Data()对象的getTimezoneOffset()方法来找出当地时间偏移值。在缺省情况下,此方法以分钟显示时区偏移值结果,因此在早先的计算中要将此值转换成毫秒。
var localOffset = d.getTimezoneOffset() * 60000;
然后将当前时间与时区偏移量相加,得到国际标准时间(用毫秒表示的,因为后面还需要计算,所以这里不做转换),然后与你想要知道的时区的偏移量再进行相加,得到那个时间的时间,然后再利用Date对象将其转换为时间字符串。
var utc = localTime + localOffset; //得到国际标准时间
var offset = 5.5;
var calctime = utc + (3600000*offset);
var nd = new Date(calctime);
document.write('指定时区时间是:' + nd.toLocalString());
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:JavaScript Object Notation(JavaScript 对象表示法),是存储和交换文本信息的语法。类似 XML,但比 XML 更小、更快,更易解析。JSON 是轻量级的文本数据交换格式。
方法 | 描述 |
---|---|
JSON.parse(string) | 用于将一个 JSON 字符串转换为 JavaScript 对象。 |
JSON.stringify(object) | 用于将 JavaScript 值转换为 JSON 字符串。 |
JSON 语法规则:
- 数据在名称/值对中
- 数据由逗号分隔
- 大括号保存对象
- 中括号保存数组
你可以使用点号(.)或中括号([])来访问/设置对象的值。
你可以使用 for-in 来循环对象的属性,使用中括号([])来访问属性的值:
var myObj = { "name":"runoob", "alexa":10000, "site":null };
for (x in myObj) {document.getElementById("demo").innerHTML += x + "<br>";// 输出name alexa sitedocument.getElementById("demo").innerHTML += myObj[x] + "<br>";// 输出runoob 10000 null
}
我们可以使用 delete 关键字来删除 JSON 对象的属性:
delete myObj.sites.site1;
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("文本","默认值")
Navigator 对象包含有关浏览器的信息
属性 | 说明 |
---|---|
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 | 返回节点列表的节点数目。 |