十. try catch语句(测试代码中的错误,在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)
也可使用onerror
事件捕获错误(老式方法,Netscape3以后的版本可用)
try{
throw 12345;//操作符,用于随时抛出错误,必须指定一个值
//可能会出错的代码
}catch(error){
//在错误发生时怎么处理,会接受到包含错误信息的对象,不用也要起名字
}finally{
//可选子句,无论如何,都会执行finally语句
}
try中任何代码发生错误,会立即退出代码执行过程,然后接着执行catch块。catch接收到的对象信息因浏览器不同而不同,但都会包含message
属性,唯一保证所有浏览器都支持的属性。跨浏览器时使用message属性
错误类型
当错误发生时,会抛出相应的错误对象,即Error.name
- Error:基类型,其他错误都继承该类型,主要供开发人员抛出自定义错误,很少见
- EvalError:
eval()
函数使用异常,即使用方式与定义的不相同 - RangeError:数值超出了相应范围时触发
- ReferenceError:找不到对象时触发,在访问不存在的变量时会出现这种错误
- SyntaxError:把语法错误的JS字符串传入
eval()
,eval()计算 JavaScript 字符串,并把它作为脚本代码来执行。 - TypeError:在JS中经常用到,执行特定的操作时,变量的类型不符合要求,传递给函数的参数未检查,传入类型与预期类型不符
- URIError:在使用encodeURI()或decodeURI(),而URI格式不正确时,就会导致URIError错误,很少见
十一. 自定义属性
自定义属性就是定义元素本身不存在的属性。JS可以为任何HTML元素添加属性,且如同元素的本来属性操作
js中DOM的自定义属性方法有:
- 设置自定义属性:setAttribute
- 获取自定义属性:getAttribute
- 移出自定义属性:removeAttribute
自定义属性-索引值
参考网址 实例
十二. setTimeout和setInterval的区别(都属于window全局对象)
setTimeout(延迟毫秒数执行代码)
window.setTimeout("js代码,函数等",毫秒数);
clearTimeout():用于清除setTimeout()方法的函数代码
setInterval(间隔指定的毫秒数循环执行代码)
window.setInterval("js代码,函数等",毫秒数);
clearInterval():用于清除setInterval()方法执行的函数
两者都返回定时器对象标识符