
javascript
fei_gao
这个作者很懒,什么都没留下…
展开
-
JavaScript-DOM-事件
先看下面一段代码Example对于上段代码:ie的事件流如图(1)所示:(1)firefox事件流如图(2)所示:(2)从两幅图可以看出:1.IE是冒泡型事件流;firefox是捕获型在前冒泡型在后(DOM标准)。2.IE不支持window事件;firefox支持。注:经测试firefox最底层元素(本例是div)的事件执行顺序是先注册限制性,无事件类型区别。原创 2010-08-26 23:30:00 · 950 阅读 · 0 评论 -
javascript - try{}catch(o){}finally{} 抛出的不一定是Error
抛开捕获异常的外衣,try{}catch(o){}finally{}不过是一个单纯的语法结果;catch(o)用来捕获try{}中显示或隐式的通过throw抛出的任何东西(string,number,boolean,object,null,undefinded),o便是这个东西的引用,而o通常是一个Errer的子对象,这是因为try{}里的代码发生异常的时候,系统隐式调用throw抛出一个Error的一个子对象,被catch捕捉引用到,然后就可以在catch代码块里处理这个错误对象了(通常是输出这个对象的m原创 2010-09-02 14:34:00 · 754 阅读 · 0 评论 -
javascript - switch里case比较显示为强类型特性
<br />众所周知,javascript是弱类型语言,所以 alert("5"==5) 弹出的警告框显示为 true ;不过在switch的case比较是却非如此:<br /> <br /><br /><script type="text/javascript"><br />var i=5;<br /><br /><br />switch(i){<br /><br /><br />case "5":<br /><br /><br />alert("case中是弱类型比较");<br /><br /><b原创 2010-09-02 14:58:00 · 1423 阅读 · 0 评论 -
javascirpt - 字符串的换行赋值
js中硬回车一般被解析为分号,表示语句的结束。但这里显然不是这样,可以推测这里硬回车被语句后面的 “/”或"+" 转义(不确定),反正最终语句应该被解析为了第一种赋值,以至于正确运行。原创 2010-09-02 15:34:00 · 4413 阅读 · 0 评论 -
javascript - Array.length的问题
另外:1.var arr=new Array(1,2,3,)语法上是不正确的;2.var arr=Array(1,2,3) 直接调用方法也可以返回一个想要的数组;原创 2010-09-02 16:03:00 · 1535 阅读 · 0 评论 -
javascript - string 与 String
var s="hello world";var S=new String("hello world");由于substring是String对象的方法,所以在使用s.substring()的时候系统会先把s包装为一个瞬间的String对象,按照这个理解在对字符串进行频繁的调用方法的操作的时候,用new String的方式定义字符串效率会高些,但是在测试的时候发现无论在ie,WebKit, firefox都是恰恰相反,特别在firefox错了近三倍左右。测试代码如下:var str=new String("h原创 2011-02-26 21:39:00 · 917 阅读 · 0 评论 -
javascript - 使用未定义的变量/值
javascript里面一般不能使用未定义的值,但是下面几种情况除外:1. 赋值语句中:a=9;alert(a) //9赋值语句中需要赋值的变量没定义会先定义,再赋值。另外从 a=b=c=8 不报错可以看出赋值语句是从右向左执行的。2. for in语句中:for(key in {name:'goofy'}){alert(key) //"name"}alert(key) //"name"for in语句中in左边的变量如果没定义也会先定义3. typeof运算符后:alert(typeof a原创 2011-03-03 21:49:00 · 2383 阅读 · 1 评论 -
javascript - for in
javascript中for in语句可以迭代array,string以及object属性,在迭代object属性是并不能迭代所有对象的所有属性,有些特殊情况下,例如一些对象的属性标示为只读或者不可变的,标示为不可迭代的。这些属性不能被for/in迭代。所有用户自定义属性是可以迭代的,许多内建属性包括所有内建方法是不可以被迭代的。在第七章,你将看到对象是可以继承其他对象的属性的,继承而来的属性是用户自定义属性,是可以用for/in迭代的。值得注意的是对object不能迭代的属性用用户自定义属性覆盖,在fir原创 2011-02-17 11:12:00 · 1616 阅读 · 0 评论