【JavaScript错误】
当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误。
可能是语法错误,通常是程序员造成的编码错误或错别字。
可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
可能是由于来自服务器或用户的错误输出而导致的错误。
当然,也可能是由于许多其他不可预知的因素。
JavaScript 抛出(throw)错误
当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。
描述这种情况的技术术语是:JavaScript 将抛出一个错误。
JavaScript try 和 catch
try语句允许我们定义在执行时进行错误测试的代码块。
catch语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
JavaScript 语句try和catch是成对出现的。
Throw 语句
throw 语句允许我们创建自定义错误。
正确的技术术语是:创建或抛出异常(exception)。
如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。
【JavaScript调试】
在程序代码中寻找错误叫做代码调试。
调试很难,但幸运的是,很多浏览器都内置了调试工具。
内置的调试工具可以开始或关闭,严重的错误信息会发送给用户。
有了调试工具,我们就可以设置断点 (代码停止执行的位置), 且可以在代码执行时检测变量。
浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。
console.log() 方法
如果浏览器支持调试,你可以使用 console.log() 方法在调试窗口上打印 JavaScript 值。
设置断点
在调试窗口中,你可以设置 JavaScript 代码的断点。
在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。
在检查完毕后,可以重新执行代码(如播放按钮)。
debugger 关键字
debugger关键字用于停止执行 JavaScript,并调用调试函数。
这个关键字与在调试工具中设置断点的效果是一样的。
【JavaScript内置对象】
- String 对象
String 的属性:
constructor 对创建该对象的函数的引用
length 字符串的长度
prototype 允许向对象添加属性和方法
*****************************************************
charAt() 返回在指定位置的字符
charCodeAt() 返回在指定的位置的字符的 Unicode 编码
concat() 连接字符串
indexOf() 检索字符串
lastIndexOf() 从后向前检索字符串
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 把字符串转换为小写
toLocaleUpperCase() 把字符串转换为大写
toLowerCase() 把字符串转换为小写
toString() 返回字符串
toUpperCase() 把字符串转换为大写
valueOf() 返回某个字符串对象的原始值
***********************************************************
String的HTML基本类型包装器:
author() 创建一个 HTML 锚作为一个超文本的目标
big() 创建一个字符串用大号字体显示,就像使用 <big> 标签的效果
blink() 创建一个字符串闪动显示,就像使用 <blink> 标签的效果
bold() 创建一个字符串加粗显示,就像使用 <b> 标签的效果
fixed() 创建一个字符串以打字机文本显示,就像使用 <tt> 标签的效果
fontcolor() 创建一个字符串使用指定的颜色显示,就像使用 <font color="color"> 标签的效果
fontsize() 创建一个字符串使用指定的尺寸显示,就像使用 <font size="size"> 标签的效果
italics() 创建一个字符串使用斜体显示,就像使用 <i> 标签的效果
link() 创建一个 HTML 超链接,用来请求另一个 URL
small() 创建一个字符串使用小字号显示,就像使用 <small> 标签的效果
strike() 创建一个字符串使用删除线显示,就像使用 <strike> 标签的效果
sub() 创建一个字符串显示为下标,就像使用 <sub> 标签的效果
sup() 创建一个字符串显示为上标,就像使用 <sup> 标签的效果
- Boolean 对象
属性:
constructor 返回创建这个对象的布尔函数的一个引用。
prototype 原型属性允许您添加对象的属性和方法。
**************************************************
toSource() 返回一个包含布尔对象来源的一个字符串
toString() 根据对象的值来返回 “真” 或 “假”
valueOf() 返回布尔对象的原始值 - Number 对象
属性:
MAX_VALUE 最大的可能值在 JavaScript 中的数量可以有 1.7976931348623157E+308
MIN_VALUE 最小的可能值在 JavaScript 中的数量可以有 5E-324
NaN 等价于一个值不是一个数字。
NEGATIVE INFINITY 比 MIN-VALUE 小的值。
POSITIVE_INFINITY 比 MAX-VALUE 大的值。
prototype 数字对象的静态属性。使用原型对象的属性来给当前文档中的数字对象分配新的属性和方法。
***************************************************
constructor() 返回创建此对象的实例的函数
toExponential() 将一个数字强制以指数表示法显示
toFixed() 格式一个数为小数点右边有特定位数的小数
toLocaleString() 返回当前数字的字符串值
toPrecision() 定义了总共由多少位来显示一个数(包括小数点左边和右边的数)
toString() 返回数的值以字符串形式表示
valueOf() 返回数字对象的原始值 - Array 对象
Array 的属性:
constructor 返回对创建该对象的函数的引用
index 从零开始检索匹配的字符串
input 只见于通过正则表达式创建的数组
length 设置或返回数组中元素的数目
prototype 允许向对象添加属性和方法
********************************************************
concat() 连接两个或更多的数组,并返回结果
every() 对数组元素应用指定的函数进行判断,当且仅当所有返回值为 true,返回 true,否则返回 false
filter() 创建一个新数组,数组中的元素是原数组中满足过滤函数返回值为空的元素
forEach() 从头到尾遍历数组,为每个元素调用制定的函数
indexOf() 从头到尾检索,返回给定元素在数组中的索引
join() 把数组的所有元素放入一个字符串。元素通过制定的分隔符进行分割
lastIndexOf() 从尾到头检索,返回给定元素在数组中的索引
map() 创建一个新数组,用来存储原数组中每个元素调用指定函数的返回值
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reduce() 同时对数组中的两个值应用一个函数,使减少到一个单一值(从头到尾)
reduceRight() 同时对数组中的两个值应用一个函数,使减少到一个单一值(从尾到头)
reverse() 颠倒数组中元素的顺序
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素
some() 对数组元素应用指定的函数进行判断,只有有一个返回值为 true,返回 true,否则返回
false。
toSource() 返回该对象的源代码
sort() 将数组中的元素进行排序
splice() 在数组中插入或删除元素
toString() 把数组转换为字符串,并返回结果
unshift() 将一个或多个元素添加到数组的前面,并返回新数组的长度。
- Date 对象
Date 的属性:
constructor 返回对创建该对象的函数的引用
prototype 允许向对象添加属性和方法
******************************************************
Date() 构造函数有几种不同的形式:
new Date() 不带参数,Date() 构造函数创建一个日期对象,设置为当前日期和时间。
new Date(milliseconds) 例如,通过传递参数 5000 创建一个日期对象,代表 1/1/1970 午夜过去 5 秒钟。
new Date(datestring) 传递一个字符串作为参数,它必须是一个日期形式的字符串,即可以被 Date.parse()
方法接收的格式。
new Date(year,month,date[,hour,minute,second,millisecond]) 方括号内的参数是可选的
***********************************************
Date() 返回当日的日期和时间
getDate() 根据本地时从Date对象返回一个月中的某一天(1 ~ 31)
getDay() 根据本地时从Date对象返回一周中的某一天(1 ~ 6)
getFullYear() 根据本地时从 Date 对象以四位数字返回年份
getHours() 根据本地时返回 Date 对象的小时 (0 ~ 23)
getMilliseconds() 根据本地时返回 Date 对象的毫秒(0 ~ 999)
getMinutes() 根据本地时返回 Date 对象的分钟 (0 ~ 59)
getMonth() 根据本地时从Date对象返回月份(1 ~ 11)
getSeconds() 根据本地时返回 Date 对象的秒数 (0 ~ 59)
getTime() 根据本地时返回 1970 年 1 月 1 日至今的毫秒数
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)
getUTCMilliseconds()根据世界时返回 Date 对象的毫秒(0 ~ 999)
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)
getYear() 弃用,返回在指定的日期根据当地时间。使用getFullYear()代替。
setDate() 根据本地时设置 Date 对象中月的某一天 (1 ~ 31)
setFullYear() 根据本地时设置 Date 对象中的年份(四位数字)
setHours() 根据本地时设置 Date 对象中的小时 (0 ~ 23)
setMilliseconds() 根据本地时设置 Date 对象中的毫秒 (0 ~ 999)
setMinutes() 根据本地时设置 Date 对象中的分钟 (0 ~ 59)
setMonth() 根据本地时设置 Date 对象中月份 (0 ~ 11)
setSeconds() 根据本地时设置 Date 对象中的秒钟 (0 ~ 59)
setTime() 根据本地时以毫秒设置 Date 对象
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)
setUTCMilliseconds()根据世界时设置 Date 对象中的毫秒 (0 ~ 999)
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)
setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)
setYear() 弃用,设置为指定的日期根据当地时间。使用 setFullYear() 代替。
toDateString() 把 Date 对象的日期部分转换为字符串
toGMTString() 弃用,将日期转换为一个字符串,使用互联网格林尼治时间约定。使用 toUTCString() 代替。
toLocalDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串
toLocalFormat() 将日期转换为一个字符串,使用格式化字符串。
toLocalString() 根据本地时间格式,把 Date 对象转换为字符串
toLocalTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串
toSource() 返回一个字符串代表一个等价的日期对象的源码,您可以使用这个值来创建一个新的对象
toString() 把 Date 对象转换为字符串
toTimeString() 把 Date 对象的时间部分转换为字符串
toUCTString() 根据世界时,把 Date 对象转换为字符串
valueOf() 返回 Date 对象的原始值
****************************************************
Date静态方法:
Date.parse() 返回 1970 年 1 月 1 日午夜到指定日期(字符串)的毫秒数
Date.UTC() 根据世界时间返回 1970 年 1 月 1 日 到指定日期的毫秒数
-
Math 对象
Math 的各个属性: Math.E 返回算术常量 e,即自然对数的底数(约等于 2.718) Math.LN2 返回 2 的自然对数(约等于 0.693) Math.LN10 返回 10 的自然对数(约等于 2.302) Math.LOG2E 返回以 2 为底的对数(约等于 1.414) Math.LOG10E 返回以 10 为底的对数(约等于 0.434) Math.PI 返回圆周率(约等于 3.14159) Math.SQRT1_2 返回 2 的平方根的倒数(约等于 0.707) Math.SQRT2 返回2的平方根(约等于 1.414) ****************************************************** abs() 返回数的绝对值 acos() 返回数的反余弦值 asin() 返回数的反正弦值 atan() 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 atan2() 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) ceil() 对数进行上舍入 cos() 返回数的余弦 exp() 返回 e 的指数 floor() 对数进行下舍入 log() 返回数的自然对数(底为e) max() 返回 x 和 y 中的最高值 min() 返回 x 和 y 中的最低值 pow() 返回 x 的 y 次幂 random() 返回 0~1 之间的随机数 round() 把数四舍五入为最接近的整数 sin() 返回数的正弦 sqort() 返回数的平方根 tan() 返回角的正切 toSource() 返回该对象的源代码
【BOM (浏览器)对象】
windows对象(BOM的核心)
alert(); 警告对话框
confirm(); 确认对话框
prompt(); 提示对话框
window.open("url", "页面标题","页面属性"); 用于打开一个新页面
页面属性有:width、height、scrollbars(是否有滚动条)、位置、resizable(是否可以改变大小)、
toolbar(是否有浏览器工具栏,包括后退及前进按钮等)、menubar(是否有菜单栏)、location(是否有地址栏);
window.close(); 关闭页面
window.confirm(); 弹出一个确认对话框
window.location="url"; 完成页面的重定向操作
window.prompt(); 弹出一个提示对话框,附有一个文本框可用于输入数据,并可返回输入的值
window.print(); 打印当前的web页面
window.opener 获取父窗口的对象
window.onerror 处理异常
window.document
window.innerHeight 获取浏览器内部的高度(不包含滚动条那一部分)
window.innerWidth 获取浏览器内部的宽度(不包含工具栏)
History对象
window.History 对象包含浏览器的历史(url)的集合
history.back() 与在浏览器点击后退按钮相同
history.forward() 与在浏览器中点击前进按钮相同
history.go() 进入历史中的某个页面
Location对象
window.Location 对象用于获得当前页面的地址(URL)并把浏览器重定向到新的页面
location.hostname 返回web主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回web主机的端口
location.portocol 返回所使用的web协议(http:// 或 https://)
location.href 返回当前页面的URL
location.assign() 返回加载新的文档
Screen对象包含有关用户屏幕的信息
window.screen 对象包含有关用户屏幕的信息
screen.availWidth 实际可用的屏幕宽度
screen.availHeight 实际可用的屏幕高度
screen.height 屏幕分辨率的高度
screen.width 屏幕分辨率的宽度
Navigator对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本
navigator.appCodeName 浏览器代码名的字符串表示
navigator.appName 返回浏览器的名称
navigator.appVersion 返回浏览器的平台和版本信息
navigator.platform 返回运行浏览器的操作系统平台
navigator.userAgent 返回由客户机发送服务器的user-agent头部信息
计时器
setTimeout(function,duration); 延时指定的毫秒数执行指定的代码
clearTimeout(); 停止执行setTimeout()方法的函数代码
setInterval(function, duration); 间隔指定的毫秒数不停地执行指定的代码
clearInterval(); 停止执行setInterval()方法的函数代码
【DOM (document) 对象】
属性:
innerHTML 获取或替换HTML元素的内容
该元素还可以获取或改变任意HTML的元素
nodeName 规定节点的名称
nodeValue 规定节点的值
nodeType 返回节点的类型
************************************************************************
getElementById();
getElementsByTagName(); 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数)
getElementsByClassName(); 返回包含带有指定类名名称的所有元素的节点列表
getAttribute(name); 返回指定的属性值
setAttribute(name,value); 把指定属性设置或修改为指定的值
appendChild(); 把新的子节点添加到指定节点
removeChild(); 删除子节点
replaceChild(); 替换子节点
insertBefore(); 在指定的子节点前面插入新的子节点
createElement(); 创建元素节点
createAttribute(); 创建属性节点
createTextNode(); 创建文本节点
write() 将内容写进HTML文档
focus() 获得焦点
select() 将所有内容全部选择
reload() 刷新