05 2013 档案
摘要:数组:var arrObject = new Array('val1', 'val2'); //作为对象的数组var arrLiteral = ['val1', 'val2']; //数组直接量对于开发者,没有区别:在直接量和对象上都可以调用一个Array方法。对于javascript引擎来说,每次访问数组直接量的时候,必须重新解释它,特别是在一个函数调用中使用它的时候。数组直接量代替了临时变量的需要,尤其是当向一个函数发送值的时候。
阅读全文
摘要:参见https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach针对每个数组元素绑定一个回调函数:1 var charSets = new Array('ab','bb','cd','ab','cc','ab','dd');2 3 function replaceElement(element, index, array){4 if(element == '
阅读全文
摘要://获取表单元素的名称和值function getValue(){ var elems = document.getElementById('picker').elements; var elemArray = new Object(); for(var i = 0; i < elems.length; i++){ if(elems[i].type == 'text'){ elemArray[elems[i].id] = elems[i].value; } } checkVals(elemArray); return false;}//检查值functio
阅读全文
摘要:参见https://developer.mozilla.org/en-US/docs/JavaScript/Reference/global_objects/array/indexofarray.indexOf(searchElement[, fromIndex])接受一个搜索值(searchElement),将其与数组(array)中的每个元素比较。如果找到该值,返回表示该数组元素的一个索引。如果没有找到,返回-1。由于IE8不支持indexof,Mozilla针对这一函数的解决方案: 1 if (!Array.prototype.indexOf) { 2 Array.prototype.i
阅读全文
摘要:介绍IE中很多奇怪的渲染问题可以通过赋予其“layout”得到解决。这些 bug 可以通过赋予相应元素某个宽度或高度解决。这便引出关于“layout”的一个问题:为什么它会改变元素的渲染特性,为什么它会影响到元素之间的关系?定义“layout”是一个IE/WIN的私有概念,决定了一个元素如何显示以及约束其包含的内容、如何与其他元素交互和建立联系、如何响应和传递应用程序事件/用户事件等。这种渲染特性可以通过某些CSS属性被不可逆转地触发。而有些HTML元素则默认就具有“layout”。PS:一个对象的layout属性被激活,它的具体表现就是haslayout=true。我们可以用IE Devel
阅读全文
摘要:其实如果完全掌握了this的工作原理,自然就不会走进这些坑。来看下以下这些情况中的this分别会指向什么:1.全局代码中的thisalert(x);// 全局变量x值为2全局范围内的this将会指向全局对象,在浏览器中即使window。2.作为单纯的函数调用function fooCoder(x) { this.x = x;}fooCoder(2);alert(x);// 全局变量x值为2这里this指向了全局对象,即window。在严格模式中,则是undefined。3.作为对象的方法调用var name = "clever coder";var person = { n
阅读全文
摘要:slice的一个方便的用法:把函数参数属性转换为一个正确的数组;var args = Array.prototype.slice.call(arguments);以下内容来自肥杜http://www.cnblogs.com/littledu/archive/2012/05/19/2508672.html我们知道,Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom对象是以com对象的形式实现的,js对象与com对象不能进行转换)如:1 var a={length:2,0:'first&
阅读全文
摘要:网上流传比较广的图示:网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth (包括边线的宽)网页可见区域高:document.body.offsetHeight (包括边线的宽)网页正文全文宽:document.body.scrollWidth网页正文全文高:document.body.scrollHeight网页被卷去的高:document.body.scrollTop网页被卷去的左:document.body.scrollLeft网页正文部分上
阅读全文
摘要:1.创建一个嵌套节点,让外层节点产生滚动条。2.用offsetWidth - clientWidth 即可获得滚动条宽度。为了避免页面抖动,可以设置外层元素position:absolute和visibility:hidden代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://w
阅读全文
摘要:Dom中的getPropertyValue方法可以用来获取元素中指定的css属性值.该方法支持W3C标准.与IE中的currentStyle方法作用相同.都是根据指定的css属性名称来获取属性值.区别:1:getPropertyValue必须配合getComputedStyle方法一起使用.2:getPropertyValue支持W3C标准.但不支持IE浏览器,3:currentStyle非W3C标准.只支持IE.不能在FF等浏览器下使用.var oStyle = this.currentStyle? this.currentStyle : window.getComputedStyle(th
阅读全文
摘要:1.创建一个随机数生成器 如果想要创建一个m~n之间的随机值。 Math.floor(x):返回等于或小于x的最大的整数。 Math.ceil(x):返回等于或大于x的最小的整数。 Math.floor(Math.random()*(n-m+1))+m; 将random的值乘以 上限减去下限加上1。然后相乘的结果加上下限的值2.随机产生颜色//随机产生数字function randomVal(val){ return Math.floor(Math.random()*(val + 1));}//返回RGB格式的字符串function randomColor(){ retu...
阅读全文
摘要:x.firstchild.data:获取元素第一个子节点的数据,x.childNodes[0]:获取元素第一个子节点;x.childNodes[0].nodeValue:获取元素第一个子节点的数据另外在 DOM 处理中一个普遍的错误是,认为元素节点包含文本。注意:文本总是存储在文本节点中元素节点的文本是存储在文本节点中的。例子:<p>文本节点</p>元素节点 <p>,拥有一个值为 "文本节点" 的文本节点。"文本节点"不是<p> 元素的值要获取"文本节点"document.getElem
阅读全文
摘要:文章转自http://ejohn.org/blog/how-javascript-timers-work/了解javascript定时器的工作是非常重要的,三个功能:var id = setTimeout(fn, delay);启动一个定时器延迟之后,该函数返回一个唯一的id,在一个以后的时间可以取消定时器。var id = setInterval(fn, delay);类似setTimeout的,但他不断调用这个函数(每一个延迟的时间),知道它被取消。clearInterval(id); clearTimeout(id);接受一个计时器ID(返回的上述功能之一),并停止计时器回调的发...
阅读全文

浙公网安备 33010602011771号