摘要: 许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,实现继承则继承实际的方法。由于函数没有签名,在ECMAScript中无法实现接口继承。ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的。实现的本质是重写原型对象,代之以一个新类型的实例。1.原型链 function SuperType(){ this.property=true; } SuperType.prototype.getSuperValue=function(){ return this.property; }; functi... 阅读全文
posted @ 2014-04-10 10:27 alexandra 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1.工厂模式解决了创建多个相似对象的问题。但却没有解决对象识别的问题(即怎样知道一个对象的类型)。考虑到ECMAScript中无法创建类,开发人员发明了一种函数,用函数来封装以特定接口创建对象的细节。 function createPerson(name,age,job){ var o = new Object(); o.name=name; o.age = age; o.job = job; o.sayName=function(){ alert(this.name); }; return o; } var person1 = createPerson("Nicholas" 阅读全文
posted @ 2014-04-09 23:16 alexandra 阅读(126) 评论(0) 推荐(0) 编辑
摘要: window.pageYOffset 被所有浏览器支持除了 IE 6, IE 7, IE 8, 不关doctype的事, 注IE9 开始支持此属性。window.scrollY 被Firefox, Google Chrome , Safari支持 不关doctype的事, 注IE9 不支持此属性在(quirk 模式)的时候 document.body.scrollTop 在 Internet Explorer, Firefox, Opera, Google Chrome Safari 返回正确的值。在(quirk 模式)的时候 document.documentElement.scrollTo 阅读全文
posted @ 2014-03-20 10:55 alexandra 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 在设计页面时可能经常会用到固定层的位置,这就需要获取一些html对象的坐标以更灵活的设置目标层的坐标,这里可能就会用到document.body.scrollTop等属性,但是此属性在xhtml标准网页或者更简单的说是带标签的页面里得到的结果是0,如果不要此标签则一切正常。那么在xhtml页面怎么获得body的坐标呢,当然有办法-使用document.documentElement来取代document.body。大多数情况下,如果有文档声明,即存在标签,标准浏览器是只认识documentElement.scrollTop的,但是chrome在有文档声明时,也只认识document.body. 阅读全文
posted @ 2014-03-19 20:05 alexandra 阅读(318) 评论(0) 推荐(0) 编辑
摘要: querySelector用于获得dom节点,可以接受三种类型的参数:id(#),class(.),标签。很像jquery的选择器。不过只能返回一个子孙元素,但是jquery选择器的话,可以返回一组元素集合。下面的代码示例:idclass 这个函数适用 IE8+,chrome,firefox 阅读全文
posted @ 2014-03-09 20:40 alexandra 阅读(439) 评论(0) 推荐(0) 编辑
摘要: pseudo-classes vs pseudo-elementshttp://m.blog.csdn.net/blog/zhuizhuziwo/7897837 阅读全文
posted @ 2014-02-21 10:18 alexandra 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 在CSS中,模式(pattern)匹配规则决定哪种样式规则应用于文档树(document tree)的哪个元素。这些模式叫着选择符(selector)。 一条CSS规则(rule)是选择符{属性:值;属性:值;}(selector {property:value;property1:value2;}),即选择符决定了{}中的声明(declaration)匹配哪个元素。类:在HTML中当表现class属性的时候,人们可以用点(.)号来作为~=号的一个替代选择,所以div.value等同于div[class~=value]。此时.value只能严格的应用于HTML中的class属性,所以此类选择符 阅读全文
posted @ 2014-02-19 16:42 alexandra 阅读(220) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/rsj217/article/details/7986905关于offsetLeft:http://www.cnblogs.com/JackJiang/archive/2008/12/24/1361048.html 阅读全文
posted @ 2014-02-09 14:43 alexandra 阅读(145) 评论(0) 推荐(0) 编辑
摘要: style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的。currentStyle可以弥补style的不足,但是只适用于IE。getComputedStyle同currentStyle作用相同,但是适用于FF、opera、safari、chrome。使用getStyle的自定义函数,来兼容ie和其他浏览器,使用getStyle来获取页面中元素的样式,问题解决。var getStyle = function (obj, attr) { if (obj.currentStyle) { return obj.currentStyle[attr]; } else {... 阅读全文
posted @ 2014-02-09 09:26 alexandra 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 局部 JavaScript 变量在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。只要函数运行完毕,本地变量就会被删除。全局 JavaScript 变量在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。JavaScript 变量的生存期JavaScript 变量的生命期从它们被声明的时间开始。局部变量会在函数运行以后被删除。全局变量会在页面关闭后被删除。向未声明的 JavaScript 变量来分配值如果您把值赋给尚未声 阅读全文
posted @ 2014-02-08 16:21 alexandra 阅读(380) 评论(0) 推荐(0) 编辑