摘要:
因为浏览器之间行为的差异,多数JavaScript代码包含了大量的if语句,将执行引导到正确的代码中。看看XMLHttpRequest(XHR)对象中的createXHR()函数:function createXHR(){ if(typeofXMLHttpRequest!="undefined"){ returnnewXMLHttpRequest(); }elseif(typeofActiveXObject!="undefined"){ if(typeof arguments.callee.activeXString !="string&quo 阅读全文
随笔分类 - web---JavaScript
javascript构造函数模式
2013-03-03 23:00 by youxin, 305 阅读, 收藏, 编辑
摘要:
ECMAScript中的构造函数可用来创建特定类型的对象。像Object和Array这样的原生构造函数,在运行时会自动出现在执行环境中。此外,也可以创建自定义的构造函数,从而定义自定义对象类型的属性和方法。例如,可以使用构造函数模式将前面的例子重写如下:functionPerson(name, age, job){ this.name = name; this.age = age; this.job = job; this.sayName =function(){ alert(this.name); }}var person1 =new Person("Nicholas", 阅读全文
javascript内存泄漏
2013-03-03 22:49 by youxin, 312 阅读, 收藏, 编辑
摘要:
由于IE对JavaScript对象和DOM对象使用不同的垃圾回收机制,因此闭包在IE中会导致一些特殊的问题。具体来说,如果闭包的作用域链中保存着一个HTML元素,那么就意味着元素将无法被销毁。来看下面的例子:function assignHandler(){ var element = document.getElementById("someElement"); element.onclick =function(){ alert(element.id); };}以上代码创建了一个作为element元素事件处理程序的闭包,而这个闭包则又创建了一个循环引用。由于匿名函数保存 阅读全文
AJAX的JavaScript的反射机制
2013-03-03 14:40 by youxin, 213 阅读, 收藏, 编辑
摘要:
什么是反射机制 反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。 在JavaScript中利用for(…in…)语句实现反射 在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句,其语法如下:for(var p in obj){//语句} 这里var p表示声明的一个变量,用以存储对象obj的属性(方法)名称,有了对象名和属性(方法)名,就可以使用方括号语法来调用一个对象的属性(方法):for(var p in obj){if(typeof(obj[p]=="function"){obj[p]();} 阅读全文
转:向高级Javascript程序员阵营迈进:Javascript一些概念研究总结
2013-02-28 18:45 by youxin, 246 阅读, 收藏, 编辑
摘要:
习惯于OOP语言编程后,会发现Javascript世界有很多匪夷所思的奇奇怪怪的现象(比如闭包),我花了大量的精力研究这些奇怪现象的根源,最后发现:源自于javascript的作用域不是块级作用域,同时它有一套基于作用域链的标识查找机制。本文大部分内容来自互联网,经过整理、改进而成。Javascript引擎和DOM采用的垃圾回收算法:引用计数javascript和DOM有各自的垃圾回收器,单独运作良好,合作时一不小心会出问题。引用计数这个算法的缺陷就是:Javascript 对象和DOM对象彼此循环引用,造成彼此的引用计数永远不能为0,垃圾回收器无法正确回收这些参与循环引用的对象,最终造成内存 阅读全文
经典JavaScript正则表达式实战
2013-02-24 12:31 by youxin, 332 阅读, 收藏, 编辑
摘要:
关于测试代码本文不是使用Dreamweaver编辑,以下测试代码可能已经在赋值粘贴的过程做了一些调整,可能执行失效。可以参看本文的pdf版本。匹配结尾的数字来源:如何用 javascript 正则表达式 取出字符串最后一组数字,谢谢如30CAC0040 取出403SFASDF92 取出92 正则如下:/\d+$/g统一空格个数来源:正则匹配空格的问题字符串内字符键有空格,但是空格的数量可能不一致,通过正则将空格的个数统一变为一个。例如:蓝 色 理 想变成:蓝 色 理 想aobert的正则: <script type="text/javascript"> var 阅读全文
正则表达式中 test、exec、match 方法区别
2013-02-24 11:06 by youxin, 426 阅读, 收藏, 编辑
摘要:
esttest 返回 Boolean,查找对应的字符串中是否存在模式。var str = "1a1b1c";var reg = new RegExp("1.", "");alert(reg.test(str)); // trueexecexec 查找并返回当前的匹配结果,并以数组的形式返回。var str = "1a1b1c";var reg = new RegExp("1.", "");var arr = reg.exec(str);如果不存在模式,则 arr 为 null 阅读全文
js做搜索框
2013-02-24 00:15 by youxin, 649 阅读, 收藏, 编辑
摘要:
<html><head><script language="javascript" >function baidu(){ var startDate, endDate ,d ; d = new Date(); startDate =d.getYear() + "-"+ (d.getMonth() + 1) + "-" + d.getDate() ; //开始日期 endDate =d.getYear() + "-"+ d.getMonth() + "-" + 阅读全文
form表单用iframe提交
2012-12-01 16:32 by youxin, 2639 阅读, 收藏, 编辑
摘要:
要想form表单能不跳转页面而提交,只有2种方法,1.ajax。2.iframe。利用iframe假装异步提交。<iframe name="mangguo"></iframe> 想要不显示,再加一句style="display:none;"假如有个表单:<form method="post" action="http://www.mangguo.org/index.php" target="mangguo"><input type="text& 阅读全文
onsubmit=return false阻止form表单提交
2012-12-01 16:29 by youxin, 17903 阅读, 收藏, 编辑
摘要:
return false 阻止表单提交不起今天这个问题困扰了我很久,在网上找了很多资料,基本上关于onsubmit=return false有以下几点要注意的地方:1. return 的返回值问题,函数中return一旦有返回值,就不在执行下面的语句,直接跳到函数调用的地方。如下PHP函数代码,第一个if条件符合则函数值返回布尔型false,可以返回一个函数的值,并且跳出这个函数;只要遇到return语句,程序就在那一行代码停止执行,执行控制将立刻返回到调用该程序的代码处。 function chkinput(form) { if(form.title.value=="") 阅读全文
JavaScript如何在离开页面时提示用户
2012-11-23 21:30 by youxin, 365 阅读, 收藏, 编辑
摘要:
如果用户正在页面执行比较重要的操作,如写博客,上传文件,此时,如果点其他链接、地址栏输入新地址或刷新页面时,应该给用户提示,确认是否离开当前页面,用JavaScript可轻松完成。以下是微软官方给出的JS示例,经测试Firefox和Chrome运行正常:var is_uploading = false;function alert_if_uploading() { if (is_uploading) return '文件正在上传中,您确定要离开当前页面?';}window.onbeforeunload = alert_if_uploading;核心代码就是监听window的on 阅读全文
js The Yellow Fade Technique
2012-10-28 21:57 by youxin, 301 阅读, 收藏, 编辑
摘要:
http://37signals.com/svn/archives/000558.phphttp://www.cnblogs.com/QLeelulu/archive/2008/03/25/1120854.html效果请将鼠标移到任意的链接上就能看到下面直接看代码:fadeUp=function(e... 阅读全文
javascript中的toString()方法
2012-10-28 17:23 by youxin, 439 阅读, 收藏, 编辑
摘要:
javascript中的toString()方法,主要用于Array、Boolean、Date、Error、Function、Number等对象。下面是这些方法的一些解析和简单应用,做个纪律,以作备忘。(1)Array.toString():将数组转换成一个字符串,并且返回这个字符串。描述:当数组用于字符串环境中时,javascript会调用这一方法将数组自动转换成一个字符串。toString()在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串(通过调用这些元素的toString方法)。当每个元素都被转换成字符串时,它就以列表的形式输出这些字符串,字符串之间用逗号分隔。返回值与没. 阅读全文
Fast JavaScript Max/Min
2012-10-27 02:00 by youxin, 286 阅读, 收藏, 编辑
摘要:
via:john resighttp://ejohn.org/blog/fast-javascript-maxmin/I've been saving this technique for a while now - it's simple, but it's good. What's the fastest way to find the largest, or smallest, number in an array?There's a bunch of implementations floating around - including some 阅读全文
js+css Text Blocks Over Image(文字覆盖在图片上)
2012-10-27 01:58 by youxin, 1278 阅读, 收藏, 编辑
摘要:
html图表 A Movie in the Park:Kung Fu PandaPutting the image in as a background image of the wrapping div would be easier, but in this s... 阅读全文
精通javascript:永不终止的blog
2012-10-26 22:35 by youxin, 194 阅读, 收藏, 编辑
摘要:
一个完整的显示wordpress的rss源的程序,当用户滚动到页面底部时载入下一页。// A generic function for performming AJAX requests// It takes one argument, which is an object that contains a set of options// All of which are outline in the comments, belowfunction ajax( options ) { // Load the options object with defaults, if no /... 阅读全文
JS转义 escape()、encodeURI()、encodeURIComponent()区别详解
2012-10-26 22:28 by youxin, 331 阅读, 收藏, 编辑
摘要:
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。下面简单介绍一下它们的区别1 escape()函数定义和用法escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。语法escape(string)参数 描述string 必需。要被转义或编码的字符串。返回值已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。说明该方法不会对 ASCII 字母和数字进行编码,也不会对下面 阅读全文
精通javascript:ajax使用
2012-10-26 22:01 by youxin, 354 阅读, 收藏, 编辑
摘要:
数据串行化:要发送一系列的数据到服务器上,第一步要整理他的格式,使服务器易于读取,这一过程称为“串行化”。串行化有2种不同的情况,但都能满足多种不同的传输需求。1.传输一个常规的js对象,其中可能包含键/值(值可能是字符串或数字)2.从一系列的表单的输入栏中提交。这种情况和第一种情况的不同之处在于提交的元素要按顺序排列,而第一个情况可以任意排列.// A simple object holding key/value pairs{ name: "John", last: "Resig", city: "Cambridge", zip: 阅读全文
dom querySelector
2012-10-25 17:04 by youxin, 293 阅读, 收藏, 编辑
摘要:
element = document.querySelector(selectors); Returns the first element within the document (using depth-first pre-order traversal of the document's nodes) that matches the specified group of selectors.elementis anelementobject.selectorsis a string containing one or more CSS selectors separated b 阅读全文
一个javascript选项卡的进化史
2012-10-25 16:46 by youxin, 306 阅读, 收藏, 编辑
摘要:
一、结构使用合理的HTML结构是javascript UI组件优雅的最重要条件之一,这里使用dl、dt、dd构建选项卡结构(js罗浮宫讨论成果,见司徒正美:jquery tabs插件)以下为引用的内容:<dl class="artTabs"><dt id="tabs"><a href="#tabContent1" class="select">link1</a> <a href="#tabContent2">link2</a> 阅读全文