04 2012 档案

摘要:在JavaScript中this变量是一个令人难以摸清的关键字,this可谓是非常强大,充分了解this的相关知识有助于我们在编写面向对象的JavaScript程序时能够游刃有余。对于this变量最要的是能够理清this所引用的对象到底是哪一个,也许很多资料上都有自己的解释,但有些概念讲的偏繁杂。而我的理解是:首先分析this所在的函数是当做哪个对象的方法调用的,则该对象就是this所引用的对象。 示例一、var obj = {};obj.x = 100;obj.y = function(){ alert( this.x ); };obj.y(); //弹出 100这段代码非常容易理解,当执行 阅读全文
posted @ 2012-04-13 14:44 牛奶咖啡 阅读(172) 评论(0) 推荐(0) 编辑
摘要:代码TUI.unique=function(array){ varret=[],record={},it,tmp; vartype={ “number”:function(n){return“_TUI_num”+n;}, “string”:function(n){returnn;}, “boolean”:function(n){return“_TUI_boolean”+n;}, “object”:function(n){returnn===null?“TUI_null”:$.data(n);}, “undefined”:function(n){return“_TUI_undefined”;} 阅读全文
posted @ 2012-04-13 14:43 牛奶咖啡 阅读(176) 评论(0) 推荐(0) 编辑
摘要:function$get(id){returndocument.getElementById(id);}functionaddLoadEvent(func){varoldonload=window.onload;if(typeofwindow.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}functionmoveElement(elementID,final_x,final_y,interval){if(!document.getElemen 阅读全文
posted @ 2012-04-13 14:40 牛奶咖啡 阅读(215) 评论(0) 推荐(0) 编辑
摘要:http://gskinner.com/RegExr/ 阅读全文
posted @ 2012-04-13 14:39 牛奶咖啡 阅读(131) 评论(0) 推荐(0) 编辑
摘要:keycode8=BackSpaceBackSpacekeycode9=TabTabkeycode12=Clearkeycode13=Enterkeycode16=Shift_Lkeycode17=Control_Lkeycode18=Alt_Lkeycode19=Pausekeycode20=Caps_Lockkeycode27=EscapeEscapekeycode32=spacespacekeycode33=Priorkeycode34=Nextkeycode35=Endkeycode36=Homekeycode37=Leftkeycode38=Upkeycode39=Rightkeyc 阅读全文
posted @ 2012-04-13 14:38 牛奶咖啡 阅读(205) 评论(0) 推荐(0) 编辑
摘要:一般现代浏览器通过侦听事件获得脚本加载完成时的状态varscript=document.createElement('script'); script.type='text/javascript'; //Firefox,Chrome script.onload=function(){ alert('scriptloaded!'); }; script.src='http://code.jquery.com/jquery-1.4.2.min.js'; document.getElementsByTagName('head&# 阅读全文
posted @ 2012-04-13 14:37 牛奶咖啡 阅读(402) 评论(0) 推荐(0) 编辑
摘要:functiontestNextSibling(){ varel=$('mydiv'), ch=el.firstChild, name=''; do{ name=ch.nodeName; }while(ch=ch.nextSibling); returnname; } functiontestChildNodes(){ varel=$('mydiv'), ch=el.childNodes, len=ch.length, name=''; for(varcount=0;count<len;count++){ name=ch[c 阅读全文
posted @ 2012-04-13 14:36 牛奶咖啡 阅读(270) 评论(0) 推荐(0) 编辑
摘要:functionveValue(field){ field.value=field.value==field.defaultValue?'':field.value||field.defaultValue; } 阅读全文
posted @ 2012-04-13 14:34 牛奶咖啡 阅读(127) 评论(0) 推荐(0) 编辑
摘要:window.onload =function(){ var price = document.getElementById('price'); price.disabled =true; price.style.padding ='2px 3px'; price.style.background ='#eee'; price.style.border ='1px solid #ccc'; var tj = document.getElementById('tj'); tj.onclick =function(){ 阅读全文
posted @ 2012-04-13 14:34 牛奶咖啡 阅读(208) 评论(0) 推荐(0) 编辑
摘要:<script language="javascript"> //Author :东阁//Date:2008-1-11//目的: 练习数组的基本操作 /* 由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素 可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了. 并且在这点上说javascript作为一种脚本语言不同于那种严格的面向对象的c++.c#,java了.具有更高的灵活性. */ /* *在javascript1.1和其后的版本中,数组是用构造函数Array()和运算符n 阅读全文
posted @ 2012-04-13 14:33 牛奶咖啡 阅读(166) 评论(0) 推荐(0) 编辑
摘要:<textarea id="tValue" style="overflow-y:hidden; height:20px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'"></textarea> 阅读全文
posted @ 2012-04-13 14:32 牛奶咖啡 阅读(151) 评论(0) 推荐(0) 编辑
摘要:最近发现DOMDocument对象很重要,还有XMLHTTP也很重要注意大小写一定不能弄错.属性:1Attributes 存储节点的属性列表(只读)2childNodes 存储节点的子节点列表(只读)3dataType 返回此节点的数据类型4Definition 以DTD或XML模式给出的节点的定义(只读)5Doctype 指定文档类型节点(只读)6documentElement 返回文档的根元素(可读写)7firstChild 返回当前节点的第一个子节点(只读)8Implementation 返回XMLDOMImplementa... 阅读全文
posted @ 2012-04-13 14:32 牛奶咖啡 阅读(157) 评论(0) 推荐(0) 编辑
摘要:setInterval("document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000); 阅读全文
posted @ 2012-04-13 14:31 牛奶咖啡 阅读(121) 评论(0) 推荐(0) 编辑
摘要:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>如何实现一个日期下拉菜单</title><script type="text/javascript">function DateSelector(selYear, selMonth, selDay){ this.selYear = selYear; this.selMonth = selMon 阅读全文
posted @ 2012-04-13 14:30 牛奶咖啡 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2012-04-13 14:28 牛奶咖啡 阅读(116) 评论(0) 推荐(0) 编辑
摘要:微软关于IE、Firefox、Opera和Safari的JavaScript兼容性研究曾经发表过一份草案,可以点击下载《JScriptDeviationsfromES3》以下为网上的一些搜集和整理(FF代表Firefox)集合类对象问题现有代码中存在许多document.form.item("itemName")这样的语句,不能在FF下运行解决方法:改用document.form.elements["elementName"]说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象.解决方法:统一使用[]获取集合类对象 阅读全文
posted @ 2012-04-13 14:25 牛奶咖啡 阅读(152) 评论(0) 推荐(0) 编辑
摘要:要成为高级 JavaScript 程序员,就必须理解闭包。本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript 编程人员对闭包的理解从“嵌套的函数”深入到“标识符解析、执行环境和作用域链”等等 JavaScript 对象背后的运行机制当中,真正领会到闭包的实质。原文链接:JavaScript Closures可打印版:JavaScript 闭包目录简介对象属性名解析值的赋予值的读取标识符解析、执行环境和作用域链执行环境作用域链与 [[scope]]标识符解析闭包自动垃圾收集构成闭包通过闭包可以做什么?例 1:为函数引用设置延时例 2:通过对象实例方法关联函数例 3 阅读全文
posted @ 2012-04-13 14:24 牛奶咖啡 阅读(118) 评论(0) 推荐(0) 编辑
摘要:1. clientHeight : 都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。 2. clientLeft,clientTop:这两个返回的是元素周围边框的厚度,如果不指定一个边框或者不定位改元素,他的值就是0. 3. scrollHeight,scrollWidth:不管有多少对象在页面上可见,他们得到的是整体. 4. scrollLeft,scrollTop:如果元素是可以滚动的,可以通过这俩个属性得到元素在水平和垂直方向上滚动了多远,单位是象素.对于不可以滚动的元素,这些值总是0.5.ev 阅读全文
posted @ 2012-04-13 14:23 牛奶咖啡 阅读(146) 评论(0) 推荐(0) 编辑
摘要:今天给诸位分享一下,js高级程序设计第二版,第十章有人会说,为什么没有第九章呀,因为第九章是浏览器检测,哥直接略过了。第十章 DOM如果说BOM是一个页面内html以外的东西,那么dom就是页面内html以内的东西。一般的结构可以这样理解:document -> html -> head + body 所以,好多的方法document.getElementById,document.getELmenetsByTagName,document.getElementsByName 都是从这儿来的。而且以上属性只有getElementById,element后面没有s,其它的都有s,复数 阅读全文
posted @ 2012-04-13 14:20 牛奶咖啡 阅读(154) 评论(0) 推荐(0) 编辑
摘要:今天跟诸位分享一下,高程,第二版,11章,dom2,dom3纵观这一章,一个概念,dom在变,现在变,未来变,反正不断的变。不过变来变去,ie是不支持dom2,dom3,可能未来新版本支持部分dom2,dom3里边主要是一些如何选择文本,复制选择文本等,方法都不怎么常见。大概瞅瞅略过。主要有用的,有这么几个。获取当前的样式,动态插入样式,这样样式是指<div class="current"></div>.current{} 获取这里边的样式。ie:currentStyle非ie:getComputedStyle参考文章:http://hi.baidu 阅读全文
posted @ 2012-04-13 14:20 牛奶咖啡 阅读(140) 评论(0) 推荐(0) 编辑
摘要:今天给诸位分享一下 chapter 12 Events所谓事件就是页面与文档窗口发生交互的瞬间。当年事件发生时它可以被预定(程序处理)。事件有两个过程,冒泡过程,或捕获过程。冒泡是自上而下,捕获是自下而上。这个顺序是document -> html -> body -> onclick element比如单击一下一个div,但浏览器不认为你只单击一个dom元素,而是div,body,html,document等这些元素。dom一般会处理捕获或冒泡时的事件,但ie只处理冒泡时,ie的event 处理 attachEvent(type,fn);dom addEventListen 阅读全文
posted @ 2012-04-13 14:19 牛奶咖啡 阅读(150) 评论(0) 推荐(0) 编辑
摘要:今天给大家分享一下,chapter 13 表单脚本表单的掌门是form,所有的分坛的坛主,扛把子都绑定在这个上面取值。所以要想取值,就得看怎么样取得form。取form一般有三法:varf=document.getElementById('formId');varf2=document.forms['formName'];varf3=document.forms[0];然后是form的提交,重置。form.submit();form.reset();然后是form元素下的input元素。input元素的几大属性要记老,搞清楚。以后经常操作的就是这些属性。这几个属 阅读全文
posted @ 2012-04-13 14:18 牛奶咖啡 阅读(147) 评论(0) 推荐(0) 编辑
摘要:chaepter 14 错误异常分享。其实主要是就是try{}catch(error){}finally{}这个语句的理解。主要一点:finally 在 return 之后 运行。这跟java里边的如出一辙。比如:try{return1;}catch(error){return2;}finally{return0;}返回 return 0;然后接着就是 firebug 的用法。除了调试css还调试js。要想深刻理解js的运行流程,就得调试。1. 直接跳过。 2. 单步进入。 3. 单步继续,会跳过函数值的调用。 4. 单步退出添加监控,查看表达式值等这些,还有其它平台下的一些调试,chrome 阅读全文
posted @ 2012-04-13 14:17 牛奶咖啡 阅读(118) 评论(0) 推荐(0) 编辑
摘要:第十五章 javascript 与 XML这一章主要讲述js对xml的操作,由于不甚熟悉,第一遍直接略过第十六章 E4XE4X (ECMASscript for XML ) 以ECMA-357为标准发布,也是对xml定义新的语法,这一章也故而略过。第十七章 Ajax 与 Json做为一单独的块,准备单独腾出时间来摸索第十八章 高级技巧说是高级技巧确实是高级技巧,这章主要是对js使用中的问题进行总结1. 高级函数所谓高级函数,讲了四个内容:a) 作用域安全的构造函数: 防止this作用域穿破b) 惰性载入函数: 它表示函数执行的分支仅发生一次:即函数第一次调用的时候。在第一次调用的过程中,该函数 阅读全文
posted @ 2012-04-13 14:17 牛奶咖啡 阅读(127) 评论(0) 推荐(0) 编辑
摘要:第一章. JavaScript 简介第二章. JavaScript在HTML中--------今天开始跟诸位分享JavaScript高级程序设计第二版,第二遍阅读,第一章-第三章,基本数据。JavaScript的历史就不多说,这里主要澄清一下它现在模糊而有强大的组成部分。说模糊是因为好多人对JS的真正的组成并不了解,说强大是因为这个语言的并不是像想象中的那么弱不禁风,而是非常之强大,强大到连语言创作者本身都没有想到能如此的强大。自从1997年,javascript 1.1提交给ECMA(欧洲计算机制造商协会)以来,ECMAscript(读ek ma script)一直是被视为javascrip 阅读全文
posted @ 2012-04-13 14:16 牛奶咖啡 阅读(194) 评论(0) 推荐(0) 编辑
摘要:由于JavaScript 变量松散类型的本质,决定了它是在特定时间用于保存特定值的一个名字而已,变量的值及其数据类型可以在脚本的生命周期内改变。这可能既有趣又强大,同时又容易出问题。4.1 语法ECMAScript 变量包括两种类型:a) 基本类型值保存在栈内存中的简单数据段。Undefined, Null,Boolean,Number和String,在内存中分别占有固定大小的空间,一般称它们按值访问。b) 引用类型值保存在堆内存中的对象。意思是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象由于这种类型大小不固定,不能保存在栈内存当中,但是它们的内存地址是固定的 阅读全文
posted @ 2012-04-13 14:14 牛奶咖啡 阅读(141) 评论(0) 推荐(0) 编辑
摘要:5.1 Object 类型创建Object实例有两种方式1. 使用newvar person = new Object();person.name = ‘豪情’;person.age = 29;2. 使用对象字面量方式var person = { name: ‘豪情’, age:29}5.2 Array 类型创建数组有两种var arr = new Array();var arr2 = [];数组的length 不是只读的,是只写的5.2.1 转换方法toLocaleString(), toString()和valueOf()join 方法重现了toString(),不同的分隔符来分隔然后按字 阅读全文
posted @ 2012-04-13 14:14 牛奶咖啡 阅读(133) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <title>豪情</title> <meta http-equiv="C 阅读全文
posted @ 2012-04-13 14:13 牛奶咖啡 阅读(177) 评论(0) 推荐(0) 编辑
摘要:6.1 创建对象var person = new Object();person.name = ‘豪情’;person.age = 29;person.sayName = function(){ alert(this.name);}6.1.1 工厂模式抽象了创建具体对象的过程,用函数来封装以特定接口创建对象的细节function createPerson(name, age, job){ var o = new object(); o.name = ‘豪情’; o.age = age; o.job = job; o.sayName = function(){ alert(this.name); 阅读全文
posted @ 2012-04-13 14:12 牛奶咖啡 阅读(164) 评论(0) 推荐(0) 编辑
摘要:匿名函数就是没有名字的函数,有时候也称为拉姆达(lambda)函数。function functionName(){};这是一个函数声明在代码执行以前被加载到作用域中var functionName = function(){};这是一个函数表达式在代码执行到那一行时才会有定义7.1 递归arguments.callee是一个指向正在执行的函数的指针,可以实现函数的递归调用function factorial(num){ if(num <= 1){ return 1;} else { return num * arguments.callee(num - 1);}}var another 阅读全文
posted @ 2012-04-13 14:11 牛奶咖啡 阅读(185) 评论(0) 推荐(0) 编辑
摘要:8.1 window对象window有双重的角色,既可以通过JavaScript访问浏览器窗口的接口,又是ECMAScript规定的Global对象。8.1.1 全局作用域var age = 29;function sayAge(){ alert(this.age);}alert(window.age); //29;sayAge(); //29;8.1.2 窗口关系及框架如果页面中有frames,则每个frames都拥有自己的window对象,并且保存在frames对象中。可以用window.frames[0]或者window.frames[framesName]来引用框架8.1.3 窗口的位 阅读全文
posted @ 2012-04-13 14:10 牛奶咖啡 阅读(182) 评论(0) 推荐(0) 编辑
摘要://构造函数 //使自己的对象多次复制,同时实例根据设置的访问等级可以访问其内部的属性和方法 //当对象被实例化后,构造函数会立即执行它所包含的任何代码 functionmyObject(msg){ //特权属性(公有属性) this.myMsg=msg;//只在被实例化后的实例中可调用 this.address='上海'; //私有属性 varname='豪情'; varage=29; varthat=this; //私有方法 functionsayName(){ alert(that.name); } //特权方法(公有方法) //能被外部公开访问 //这个 阅读全文
posted @ 2012-04-13 14:09 牛奶咖啡 阅读(134) 评论(0) 推荐(0) 编辑
摘要:if(window.event){//cancelBubble的字面意思是取消冒泡//如果事件句柄想阻止事件传播到包容对象,必须把该属性设为true。e.cancelBubble=true;}else{e.preventDefault();//方法取消事件的默认动作e.stopPropagation();//stopPropagation的字面意思是停止传播。}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm 阅读全文
posted @ 2012-04-13 14:08 牛奶咖啡 阅读(180) 评论(0) 推荐(0) 编辑
摘要:没有永恒的技术只有变态的需求,没有好说的客户只有无奈的开发者,如果iframe的出现是一个错误的话,iframe里边在来一个iframe那是错上加错,神话没有在远古的尘嚣中消失,却在怀具的今天不断上演。生活永远是一个大染缸,一块白布下去,黑布出来,一块黑布下去,一块七色布出来。contentWindow 兼容各个浏览器,可取得子窗口的 window 对象。contentDocument Firefox 支持,> ie8 的ie支持。可取得子窗口的 document 对象。在子级iframe设置 父级 iframe ,或 孙级 iframe 高度。functionshowIframeH() 阅读全文
posted @ 2012-04-13 14:07 牛奶咖啡 阅读(200) 评论(0) 推荐(0) 编辑
摘要:书没有好坏之分,正如人没有绝对的好坏之分一样。书只看对自己这个水平层次的人来说该吸收的东西多少了。当然,尽信书不如不读书。人,在特定的历史条件下做出的某些选择是有助于推动历史前进的步伐的,所以要用多变的眼光来看待回忆中的人与事将会使你的人生多彩而斑斓。《精通js》这本书,承载了众多jqer期待的梦,结果可想而知。不多说了,列举几个简单的函数,供参考。不为过去,只为将来那些未曾实现的梦...function$(){returndocument.getElementById(arguments[0])};/***得到上一个元素*@param{Object}elem*/functionprev(el 阅读全文
posted @ 2012-04-13 14:05 牛奶咖啡 阅读(217) 评论(0) 推荐(0) 编辑
摘要:/** * 隐藏元素 * @param {String} elem */ function hide(elem){ var curDisplay = getStyle(elem, 'display'); if(curDisplay != 'none'){ elem.oldDisplay = curDisplay; } ... 阅读全文
posted @ 2012-04-13 13:44 牛奶咖啡 阅读(169) 评论(0) 推荐(0) 编辑
摘要:首先看看这个: (function(){ //运行的代码 })(); 红色括号里面是一个匿名函数,红色括号是分割,表示里面的函数是一个部分,绿色的括号表示一个运算符,表示红色括号里面的函数要运行。 相当于定义完一个匿名函数后让它直接运行。 构建自己的js库就是用以下模板代码: (function(){ fun... 阅读全文
posted @ 2012-04-13 12:41 牛奶咖啡 阅读(299) 评论(0) 推荐(0) 编辑