作者:Lightning@小宝
发布时间:August 24, 2010
分类:JavaScript学习笔记,生活 & 职场
经典对白之一:
阿诺走后,史泰龙 说他想当总统!
李连杰的经典语录:我能赢他,我缺钱,我要加薪!从头到尾就这几句。
看过后还有意犹未尽之感,周二50元的票价还可以值得去看,第一次去ume双井店体验还可以,比我老家的影院强!
娱乐之后也不能忘记学习:
javascript练习:
var f = function g(){return 22;};
typeof g();//应该会输出什么呢?试一下吧!
作者:Lightning@小宝
发布时间:August 15, 2010
分类:JavaScript学习笔记
不久之前还在研究各浏览器下的keyup,keydown,keypress的不同表现。兼容性问题永远是前端开发人员的痛处, 这也成就了很多出色的前端开发者与优秀的前端开发团队。
演示Demo,这里
之后,会写几遍分析JS的文章,感谢您的关注!
作者:Lightning@小宝
发布时间:March 2, 2010
分类:JavaScript学习笔记
在JavaScript可以使用try...catch来进行异常处理。例如: try {
foo.bar();
} catch (e) {
alert(e.name + " : " + e.message);
}
目前我们可能得到的系统异常主要包含以下6种:
EvalError: raised when an error occurs executing code in eval()
RangeError: raised when a numeric variable or parameter is outside of its valid range
ReferenceError: raised when de-referencing an invalid reference
SyntaxError: raised when a syntax error occurs while parsing code in eval()
TypeError: raised when a variable or parameter is not a valid type
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:
new Error();
new Error( " 异常信息 " );
手工抛出异常的方法如下:
try {
throw new Error( " Whoops! " );
} catch (e) {
alert(e.name + " : " + e.message);
}
如要判断异常信息的类型,可在catch中进行判断:
try {
foo.bar();
} catch (e) {
if (e instanceof EvalError) {
alert(e.name + " : " + e.message);
} else if (e instanceof RangeError) {
alert(e.name + " : " + e.message);
}
// etc
}
Error具有下面一些主要属性:
description: 错误描述 (仅IE可用).
fileName: 出错的文件名 (仅Mozilla可用).
lineNumber: 出错的行数 (仅Mozilla可用).
message: 错误信息 (在IE下同description)
name: 错误类型.
number: 错误代码 (仅IE可用).
stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
作者:Lightning@小宝
发布时间:February 24, 2010
分类:JavaScript学习笔记
先看下代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="show"></div>
<hr style="margin:50px 0px;"/>
<script>
function T(id){return document.getElementById(id);}
var show = window.show = T('show');
window.onload = function(){
T('te').onclick = function(e){
// var e = e||window.event;
// var _this = e.srcElement ? e.srcElement : e.target;
show.innerHTML += ' click ';
};
// T('te').onmouseover = function(){alert('over');}
// T('te').onmouseout = function(){alert('out');}
show.innerHTML = 'start: ';
T('te').onmousedown = function(){show.innerHTML += ' down ';}
T('te').onmouseup = function(){show.innerHTML += ' up ';}
}
</script>
<a id="te" href="javascript:;" style="border:1px solid red;padding:10px;">aaaaaaaaaaaaaaaaaaaaaaaa</a>
</body>
</html>
事件响应顺序为: mousedown -> mouseup -> click ; 有些情况可使用mousedown 替代 click 已减少事件响应事件!
作者:Lightning@小宝
发布时间:February 13, 2010
分类:JavaScript学习笔记
对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途。今天在ext中看到 document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。
document.compatMode正好派上用场,它有两种可能的返回值:BackCompat和CSS1Compat,对其解释如下:
BackCompat Standards-compliant mode is not switched on. (Quirks Mode)
CSS1Compat Standards-compliant mode is switched on. (Standards Mode)
在实际的项目中,我们还需要在获取浏览是否IE,这样就可以得到IE的渲染模式了。在Ext中的代码:isBorderBox=isIE&&!isStrict。
当文档有了标准声明时, document.compatMode 的值就等于 "CSS1compat", 因此, 我们可以根据 document.compatMode 的值来判断文档是否加了标准声明
var height = document.compatMode=="CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;
- 页码:
- 1
- 2
- 3
- 4
- 5
- »