随笔分类 - JS
摘要:一元运算符只有一个参数,即要操作的对象或值。它们是 ECMAScript 中最简单的运算符。 delete delete 运算符删除对以前定义的对象属性或方法的引用。例如: 在这个例子中,删除了 name 属性,意味着强制解除对它的引用,将其设置为 undefined(即创建的未初始化的变量的值)。
阅读全文
摘要:selectNodes() 方法用一个 XPath 查询选择节点。nodeObject.selectNodes(query)query XPath 查询串。包含了匹配查询的节点的一个 NodeList。这个特定于 IE 的方法计算一个 XPath 表达式,使用该节点作为查询的根节点,并且将结果作为一个 NodeList 返回。这个 selectNodes() 方法只用于 XML 文档节点,不用于 HTML 文档节点。注意,既然 Document 对象是它们自己的节点,这个方法可以应用于整个 XML 文档。参阅 Document.evaluate(),了解一个跨浏览器的替代方法。--------
阅读全文
摘要:IE有3种方式都可以创建一个元素:1 document.createElement("")2 document.createElement("")3 document.createElement("input")Firefox只支持一种方式:document.createElement("input");document.setAttribute(name,value);------------注: 在一个节点下增加子节点 IE也比Firefox下的方式要多.IE: 1 node.insertBefore(Elem
阅读全文
摘要:最近使用Firefox进行网页的调试,发现有些javascript XSLT处理xml的语句仅仅支持IE浏览器。而网络中的一些介绍Javascript XSLT 处理XML的文章基本上都是依据Ajax来做的。 无奈中,自己写了一个Javascript XSLT处理XML展现页面的小功能。现在帖出来和大家共享,希望大家给点改进意见。 在Firefox中使用XSLTPRocessor对象处理XML,主要使用该对象的两个方法: 一、transformToFragment()。 二、transformToDocument()。 下面的代码仅仅使用transformToFragmen...
阅读全文
摘要:1.请减少HTTP请求 基本原理: 在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出。 一个正常HTTP请求的流程简述:如在浏览器中输入"www.xxxxxx.com"并按下回车,浏览器再与这个URL指向的服务器建立连接,然后浏览器才能
阅读全文
摘要:ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢?有符号整数使用 31 位表示整数的数值,用第 32 位表示整数的符号,0 表示正数,1 表示负数。数值范围从 -2147483648 到 2147483647。可以以两种不同的方式存储二进制形式的有符号整数,一种用于存储正数,一种用于存储负数。正数是以真二进制形式存储的,前 31 位中的每一位都表示 2 的幂,从第 1 位(位 0)开始,表示 20,第 2 位(位 1)表示 21。没用到的位用 0 填充,即忽略不计。
阅读全文
摘要:ECMAScript 5中定义了9个新的数组方法,用于遍历、映射、过滤、检测、简化和搜索数组。 在开始介绍之前,很有必要对这几个新增的数组方法做一个概述。首先,大多数方法的第一个参数接收一个函数,并且对数组的每个元素(或者一些元素)调用一次该函数。如果是稀疏数组,对不存在的元素不调用传递的函数。在大多数情况下,调用提供的函数使用3个参数:数组元素、数组元素的索引值和数组本身。通常,知需要第一个参数,可忽略后面2个参数。大多数ECMAScript 5数组方法的第一个参数是一个函数,第二个参数是可选的。如果有第二个参数,则第一个参数(被调用的函数)会被看做是第二个参数的方法。也就是说,第一个参数(
阅读全文
摘要:~~~~捕捉小括号获取的内容保存在RegExp的$1 $2..属性中var reg=/^(-?\d+)(px|pt|em|in)?$/;if(reg.test(svalue)){ var num=RegExp.$1;//~~~捕捉小括号获取的内容会成为正则构造函数的$1 $2... 属性的值}var retArr = '200px'.match(reg); //返回一个数组 retArr=[wholematch, $1, $2 ... ] ; RegExp.$1 , RegExp.$2
阅读全文
摘要:在我本地测试当中: 在IE、FireFox、Opera下都可以使用 document.body.clientWidth document.body.clientHeight 即可获得,很简单,很方便。 而在公司项目当中: Opera仍然使用 document.body.clientWidth doc
阅读全文
摘要:1.通常每个case的末尾都应该加个break; 否则会default分支也会被执行var score = 40;switch (score){case 50:console.log('50');//break;case 40:console.log('40');//break;default:console.log('default'); //display: 40 default2.如果希望不同的case执行相同的语句块,可以这样写//50或40分则提示'请多加努力'var score = 40;//var score = 5
阅读全文
摘要:~~·数组的length属性是可读写的var colors = ["blue","red","green"];colors.length = 2;alert(colors[2]);//undefined移除colors.length = 8;alert(colors[6]);//undefined新增colors[99] = "black";alert(colors.length);//100小结:数组的length属性不是只读的。将length的值设置小于当前长度,会删除后面的项;设置大于当前长度,会新
阅读全文
摘要:~~~数组添加元素后一般返回数组的新长度 如: push(ele1[,ele2...]), unshift(ele1[,ele2...])~~~数组删除元素后一般返回被删除的元素 如: pop() , shift()var colors = new Array();var count = colors.push("red","green","black");alert(count); //3说明:push方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。var item = colors.pop();ale
阅读全文
摘要:在javascript中一共有四种调用模式:方法调用模式、函数调用模式、构造器调用模式和apply调用模式。这些模式在如何初始化关键参数this上存在差异方法调用模式 当一个函数被保存为对象的一个属性时,我们称之它为该对象的一个方法,那么this被绑定到该对象上。 复制代码 代码如下:var myObject={ name : "myObject" , value : 0 , increment : function(num){ this.value += typeof num === 'number' ? num : 0; } , toString : f
阅读全文
摘要: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..
阅读全文
摘要:Getter是一种获取一个属性的值的方法,Setter是一种设置一个属性的值的方法。可以为任何预定义的核心对象或用户自定义对象定义getter和setter方法,从而为现有的对象添加新的属性。有两种方法来定义Getter或Setter方法:在对象初始化时定义在对象定义后通过Object的__defineGetter__、__defineSetter__方法来追加定义在使用对象初始化过程来定义Getter和Setter方法时唯一要做的事情就是在getter方法前面加上“get”,在setter方法前面加上“set”。还有一点要注意的就是getter方法没有参数,setter方法必须有一个参数,也
阅读全文
摘要:用了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
阅读全文
摘要:对于document.compatMode,很多朋友可能很少接触,知道他的存在却不清楚他的用途。今天在ext中看到document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还是很有帮助。我们都知道,IE对盒模型的渲染在StandardsMode和QuirksMode是有很大差别的,在StandardsMode下对于盒模型的解释和其他的标准浏览器是一样,但在QuirksMode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是QuirksMode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。~~~ie 声明DOCTYPE时为Standards
阅读全文
摘要:JavaScript中isPrototypeOf函数方法是返回一个布尔值,指出对象是否存在于另一个对象的原型链中。使用方法:object1.isPrototypeOf(object2)~~~原型链理解:如 [1,2,3]的原型链为 Array.prototype--Object.prototype其中object1为必选项,一个对象的实例。object2为必选项,另一个对象,将要检查其原型链。~~~ object1,object2都为对象 object2的原型链是确定的,判断object1是否原型链中的一员如果 object2 的 原型链中包含object1,那么JavaScript中isPr
阅读全文