上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页
摘要: 在JavaScript中this变量是一个令人难以摸清的关键字,this可谓是非常强大,充分了解this的相关知识有助于我们在编写面向对象的JavaScript程序时能够游刃有余。对于this变量最要的是能够理清this所引用的对象到底是哪一个,也许很多资料上都有自己的解释,但有些概念讲的偏繁杂。而我的理解是:首先分析this所在的函数是当做哪个对象的方法调用的,则该对象就是this所引用的对象。示例一、[代码]这段代码非常容易理解,当执行 obj.y() 时,函数是作为对象obj的方法调用的,因此函数体内的this指向的是obj对象,所以会弹出100。示例二、代码这里为什么会弹出 'this 阅读全文
posted @ 2010-12-08 19:10 bigwhiteshark(云飞扬) 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 在学习offset的相关属性前,必须明确指出offsetHeight/Width、offsetTop/offsetLeft等返回的都是只读的并且以数字的形式返回像素值(例如,返回12,而不是'12px')。定位父元素:指在CSS中某一元素domElement[position:relative/absolute] 所相对定位的元素。1、offsetParent   对于offsetParent来讲,最重要的是能够知道 domElement.offsetParent 指向的是哪个元素。然而对于这一点不同的浏览器之间有一些微妙的差异。   a、domElement设置了position:relat 阅读全文
posted @ 2010-12-08 18:26 bigwhiteshark(云飞扬) 阅读(450) 评论(1) 推荐(0) 编辑
摘要: a.x = a = { }, 深入理解赋值表达式代码if 语句的简写[代码]等同于[代码]&& 和 || 的计算取值[代码][代码]!!variable 会返回和原值相等的boolean值Object的构造代码prototype中的一些细节[代码]创建对象,并保持原型链代码 阅读全文
posted @ 2010-12-08 16:45 bigwhiteshark(云飞扬) 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 在学习JavaScript的变量作用域之前,我们应当明确几点: a、JavaScript的变量作用域是基于其特有的作用域链的。 b、JavaScript没有块级作用域。 c、函数中声明的变量在整个函数中都有定义。1、JavaScript的作用域链首先看下下面这段代码:观察alert(rain);这句代码。JavaScript首先在inner函数中查找是否定义了变量rain,如果定义了则使用inner函数中的 rain变量;如果inner函数中没有定义rain变量,JavaScript则会继续在rainman函数中查找是否定义了rain变量,在这段代码中rainman函数体内没有定义rain变量 阅读全文
posted @ 2010-12-08 15:52 bigwhiteshark(云飞扬) 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 最近在写JavaScript时遇到一些问题,就是当JavaScript多事件连续触发,JavaScript的单线程引擎是如何控制的。找了一些资料,觉得很有用,在此分享一下。虽然不是原创,但是觉得此文章对JavaScript程序员非常有用。翻译的不是十分精确,但希望对大家有用。原文:John Resig http://ejohn.org/blog/how-javascript-timers-work/How JavaScript Timers Work从基础的层面来讲,理解JavaScript的定时器是如何工作的是非常重要的。计时器的执行常常和我们的直观想象不同,那是因为JavaScript引擎 阅读全文
posted @ 2010-12-08 14:55 bigwhiteshark(云飞扬) 阅读(335) 评论(0) 推荐(1) 编辑
摘要: 1、什么是闭包、以及闭包所涉及的作用域链这里就不说了。2、JavaScript垃圾回收机制 JavaScript不需要手动地释放内存,它使用一种自动垃圾回收机制(garbage collection)。当一个对象无用的时候,即程序中无变量引用这个对象时,就会从内存中释放掉这个变量。3、循环引用 三个对象 A 、B 、C AàBàC :A的某一属性引用着B,同样C也被B的属性引用着。如果将A清除,那么B、C也被释放。 AàBàCàB :这里增加了C的某一属性引用B对象,如果这是清除A,那么B、C不会被释放,因为B和C之间产生了循环引用。4、循环引用和闭包这是一种及其隐蔽的循环引用,。当调用一次o 阅读全文
posted @ 2010-12-08 14:27 bigwhiteshark(云飞扬) 阅读(365) 评论(0) 推荐(0) 编辑
摘要: in 运算符判断对象是否拥有某一属性只要对象拥有该属性,就会返回true,否则falsevar point = { x:1, y:1 };alert( 'x' in point ); //truevar arr = ['one', 'two'];alert( 'kang' in arr ); //falsealert( '1' in arr ); //truealert( 'push' in arr ); //truevar fn = function(){};fn.prototype.site = 'cnblogs.com';var obj = new fn();alert( 'site' 阅读全文
posted @ 2010-12-08 13:45 bigwhiteshark(云飞扬) 阅读(769) 评论(0) 推荐(1) 编辑
摘要: hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。isPrototypeOf是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。 阅读全文
posted @ 2010-12-08 13:36 bigwhiteshark(云飞扬) 阅读(46339) 评论(0) 推荐(4) 编辑
摘要: 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。几种常见的浏览器内核简介:Trident:Windows下的IE浏览器使用的内核代号。除IE外,众多的IE Shell(如 Maxthon)都使用这个内核。Gecko:Mozilla Firefox浏览器使用的内核代号 阅读全文
posted @ 2010-12-07 20:34 bigwhiteshark(云飞扬) 阅读(1895) 评论(2) 推荐(1) 编辑
摘要: 今天在看框架的时候无意间看到了document.compatMode,经过一番资料查找,终于搞懂了。文档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等。IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。document.compatMode正好派上用场,它有两种可能的返回 阅读全文
posted @ 2010-12-07 18:47 bigwhiteshark(云飞扬) 阅读(401) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页