《敢死队》观后感

作者:Lightning@小宝 发布时间:August 24, 2010 分类:JavaScript学习笔记,生活 & 职场

经典对白之一:
阿诺走后,史泰龙 说他想当总统!
李连杰的经典语录:我能赢他,我缺钱,我要加薪!从头到尾就这几句。

看过后还有意犹未尽之感,周二50元的票价还可以值得去看,第一次去ume双井店体验还可以,比我老家的影院强!

娱乐之后也不能忘记学习:
javascript练习:

     var f = function g(){return 22;};
     typeof g();//应该会输出什么呢?试一下吧!
    

替代onkeyup事件的方法

作者:Lightning@小宝 发布时间:August 15, 2010 分类:JavaScript学习笔记

不久之前还在研究各浏览器下的keyup,keydown,keypress的不同表现。兼容性问题永远是前端开发人员的痛处, 这也成就了很多出色的前端开发者与优秀的前端开发团队。
演示Demo,这里

之后,会写几遍分析JS的文章,感谢您的关注!

Javascript中的异常类型

作者: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可用).

鼠标事件响应顺序测试onmousedown/onmouseup/onclick

作者: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 已减少事件响应事件!

javascript的document.compatMode介绍

作者: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. 1
  3. 2
  4. 3
  5. 4
  6. 5
我要报警