摘要: 在javascript中一共有四种调用模式:方法调用模式、函数调用模式、构造器调用模式和apply调用模式。这些模式在如何初始化关键参数this上存在差异方法调用模式 当一个函数被保存为对象的一个属性时,我们称之它为该对象的一个方法,那么this被绑定到该对象上。 复制代码 代码如下:var myObject={ name : "myObject" , value : 0 , increment : function(num){ this.value += typeof num === 'number' ? num : 0; } , toString : f 阅读全文
posted @ 2013-07-06 11:55 stephenykk 阅读(190) 评论(0) 推荐(0) 编辑
摘要: funct = { get: function() { return this._x }, set: function(value) { this._x = value } }function Obj(){ this._x=0;}var obj1=new Obj;//Obj.prototype = { get x() { return this._x; }, set x(value) { this._x = value; }} //ok//Obj.prototype.__defineGetter__('x', funct['get']); //ok//Obj.. 阅读全文
posted @ 2013-07-04 10:30 stephenykk 阅读(365) 评论(0) 推荐(0) 编辑
摘要: Getter是一种获取一个属性的值的方法,Setter是一种设置一个属性的值的方法。可以为任何预定义的核心对象或用户自定义对象定义getter和setter方法,从而为现有的对象添加新的属性。有两种方法来定义Getter或Setter方法:在对象初始化时定义在对象定义后通过Object的__defineGetter__、__defineSetter__方法来追加定义在使用对象初始化过程来定义Getter和Setter方法时唯一要做的事情就是在getter方法前面加上“get”,在setter方法前面加上“set”。还有一点要注意的就是getter方法没有参数,setter方法必须有一个参数,也 阅读全文
posted @ 2013-07-04 10:19 stephenykk 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 今天测试代码时,发现不少IE可以运行的ajax,但在FF中报错。IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结如下: 1.兼容firefox的 outerHTML,FF中没有outerHtml的方法。 ~~~ HTMLElement.prototype.__define 阅读全文
posted @ 2013-07-04 09:43 stephenykk 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 用了JS的getYear()方法,但是发现生成的代码竟然有108(本应该是2008),发现这是firefox下的问题。然后google了一下,发 现原来是这样的:var today = new date();var year = today.getYear();在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值IE里面则:当today的年份小于2000的时候,和firefox一样。当today的年份大于等于2000的时候 在返回的基础上额外加上1900如:today年份是1999 返回99(同firefox) today年份是2000 返回10 阅读全文
posted @ 2013-06-28 17:41 stephenykk 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 对于document.compatMode,很多朋友可能很少接触,知道他的存在却不清楚他的用途。今天在ext中看到document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还是很有帮助。我们都知道,IE对盒模型的渲染在StandardsMode和QuirksMode是有很大差别的,在StandardsMode下对于盒模型的解释和其他的标准浏览器是一样,但在QuirksMode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是QuirksMode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。~~~ie 声明DOCTYPE时为Standards 阅读全文
posted @ 2013-06-24 12:12 stephenykk 阅读(232) 评论(0) 推荐(0) 编辑
摘要: JavaScript中isPrototypeOf函数方法是返回一个布尔值,指出对象是否存在于另一个对象的原型链中。使用方法:object1.isPrototypeOf(object2)~~~原型链理解:如 [1,2,3]的原型链为 Array.prototype--Object.prototype其中object1为必选项,一个对象的实例。object2为必选项,另一个对象,将要检查其原型链。~~~ object1,object2都为对象 object2的原型链是确定的,判断object1是否原型链中的一员如果 object2 的 原型链中包含object1,那么JavaScript中isPr 阅读全文
posted @ 2013-06-24 12:07 stephenykk 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 今天谈一下在IE浏览器下返回执行错误的Javascript代码所在的问题。其中在IE浏览器下,如果你使用了try-catch,那么当出现异常的时候,IE浏览器会传递一个Error对象。 ~~~怎么通过Error对象获取更多信息(如:错误描述 错误行数) 帮助调试是我们比较关心的输出:name=TypeError message='sldfj' 未定义 number=-2146823279 description='sldfj' 未定义其中的number属性是一个整数,表示的是错误码,但这并不是真正的错误码,我们需要先将其做一下转换var errCode = er 阅读全文
posted @ 2013-06-21 10:03 stephenykk 阅读(2120) 评论(0) 推荐(0) 编辑
摘要: DOM树首先,可视化一个HMTL文档的DOM树是很有帮助的。一个简单的HTML页面看起来就像是这个样子:事件冒泡(又称事件传播)当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何我们已绑定到该元素的单击事件上的函数的执行。 ~~~事件冒泡又称事件传播$('a').bind('click', function() { alert("That tickles!") });因此一个单击操作会触发alert函数的执行。click事件接着会向树的根方向传播,广播到父元素,然后接着是每个祖先元素,只要是它的某个后代元素上的单击事件被触发, 阅读全文
posted @ 2013-06-20 14:41 stephenykk 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 1、javascript具有下列种类的运算符:算术运算符;逻辑运算符;比较运算符;2、目的分类:字符串运算符;逻辑运算符;逐位运算符;赋值运算符;3、特殊运算符:条件运算符;typeof运算符;创建对象运算符new;delete运算符;void运算符号;逗号运算符;算术运算符:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 --等同运算符与全同运算符:==(等于) 、 ===(恒等于)、 !=(不等于) 、 !==(不恒等于)比较运算符:< 、 > 、 <= 、 >=字符串运算符: +逻辑运算符:&& 、 ||、 !、赋值运算符:=、 阅读全文
posted @ 2013-06-19 10:24 stephenykk 阅读(3071) 评论(0) 推荐(0) 编辑