随笔分类 - Javascript
摘要:/**************** 数组扩展 ********************/Array.prototype.add = function(item) { this.push(item);}Array.prototype.addRange = function(items) { var length = items.length; if (length != 0) { for (var index = 0; index < length; index++) { this.push(items[index]); } ...
阅读全文
摘要://获取字符数组 String.prototype.toCharArray = function() { return this.split("");}//获取N个相同的字符串 String.prototype.repeat = function(num) { var tmpArr = []; for ( var i = 0; i < num; i++) tmpArr.push(this); return tmpArr.join("");}//逆序 String.prototype.reverse = function() { return thi
阅读全文
摘要:/*** each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数* 这个迭代函数依次将集合的每一个元素和可选参数用函数进行计算,并将计算得的结果集返回{%example<script> var a = [1,2,3,4].each(function(x){return x > 2 ? x : null}); var b = [1,2,3,4].each(function(x){return x < 0 ? x : null}); alert(a); alert(b);</script>%}* @param {Function} fn 进行迭代判定
阅读全文
摘要:<html><head><title></title><script language="javascript" type="text/javascript">function print(msg){ document.write(msg); }function println(msg){ print(msg + "<br/>");}//抽象类形状类function Shape(edges){ var _edges = edges; var that = { ge
阅读全文
摘要:JavaScript 秘密花园plenruzhtresjakofi#topHide Menu简介关于作者贡献者许可对象对象使用和属性原型hasOwnProperty 函数for in 循环函数函数声明与表达式this 的工作原理闭包和引用arguments 对象构造函数作用域与命名空间数组数组遍历与属性Array 构造函数类型相等与比较typeof 操作符instanceof 操作符类型转换核心为什么不要使用 evalundefined 和 null自动分号插入其它setTimeout 和 setIntervalprev section其它next sectionsetTimeout 和 s.
阅读全文
摘要:WEB前端研发工程师,在国内算是一个朝阳职业,这个领域没有学校的正规教育,大多数人都是靠自己自学成才。本文主要介绍自己从事web开发以来(从大二至今)看过的书籍和自己的成长过程,目的是给想了解 JavaScript或者是刚接触JavaScript的朋友,介绍如何通过循序渐进的看书来学习javascript。一. 入门级 :就是有一定的基础(比如最常见的HTML标签及其属性、事件、方法;最常见的CSS属性;基础的JavaScript编程能力),能够完成一些简单的WEB前端需求。推荐:《JavaScript Dom编程艺术》理由:此书绝对是入门的好书,本人也是在接触JS一段时间后才看的这本书。此书
阅读全文
摘要:如果你从事前台开发,那么肯定不能少的就是要熟悉各浏览器的内核,那么我们如何知道各浏览器的内核呢?那就得从window.navigator.userAgent入手了。首先我们写一个自己的Browser对象。(function(win){ var // Useragent RegExp rwebkit = /(webkit)[ \/]([\w.]+)/, ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, rmsie = /(msie) ([\w.]+)/, rmozilla = /(mozilla)(?:.*? rv:([\...
阅读全文
摘要:众所周之,js是没有ArrayList类的,但是js自带了Array类(虽然在js中已经是动态数组了),不过Array类使用起来还是挺别扭的,尤其是一些方法名称,更是让人摸不着头脑,于是就有了自己封装一个ArrayList类的想法。(function(win) { var ArrayList = function() { this.datas = []; }; var proto = ArrayList.prototype; proto.size = function() { return this.datas.length; }; ...
阅读全文
摘要:众所周之,js是没有Map类的,要想用还得自己封装一个。(function(win) { var Map = function() { this.count = 0; this.entrySet = {}; }; var proto = Map.prototype; proto.size = function() { return this.count; }; proto.isEmpty = function() { return this.count === 0; }; proto.con...
阅读全文
摘要:众所周知,用jQuery的extend方法,可以很方便的实现继承和对象拷贝,我们可以把它拿过来自己用。(function(win) { var toString = Object.prototype.toString; var hasOwn = Object.prototype.hasOwnProperty; var class2type = {}; class2type["[object Boolean]"] = "boolean"; class2type["[object Number]"] = "number"
阅读全文
摘要:用js判断页面刷新或关闭的方法(好)2009-10-12 23:02onbeforeunload与onunload事件Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。 Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页
阅读全文
摘要:Global(全局对象/属性)Global全局对象Infinity表示无穷大的数字属性NaN非数字属性undefined未定义值Global全局对象可用性JavaScript 1.0; JScript 1.0; ECMAScript v1语法this全局属性全局对象不是一个类,所以下面的全局属性在自己名称下有单独的参考条目。也就是说,在“undefined”名下可以找到undefined属性的详细信息,而不是在“Global.undefined”下寻找。注意,所有顶层变量也都是全局对象的属性。Infinity表示正无穷大的数值。NaN非数字值。undefined未定义的值。全局函数全局对象是一
阅读全文
摘要:编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。 你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态。而代码就象能量,他存在的唯一目的,就是要努力改变数据原来的状态。在代码改变数据的同时,也会因为数据的抗拒而反过来影响或改变代码原有的趋势。甚至在某些情况下,数据可以转变为代码,而代码却又有可能被转变为数据,或许还存在一个类似E=MC2形式的数码转换方程呢。然而,就是在数...
阅读全文
摘要:function $package(name) { //拆分名字空间域字符串 var domains = name.split("."); var cur_domain = window; //循环遍历每一级子域 for(var i=0; i< domains.length; i++) { var domain = domains[i]; //如果该域的空间未被创建 if(typeof(cur_domain[domain]) == ...
阅读全文
摘要:Array.prototype.each = function(fn) { return this.length ? [fn(this.slice(0,1))].concat(this.slice(1).each(fn)) : []; }; [1,2,3,4].each(function(x){ document.write(x + "<br/>"); });
阅读全文
摘要:function StringBuffer(str){ var arr = []; str = str || ""; arr.push(str); this.append = function(str1) { arr.push(str1); return this; }; this.toString = function() { return arr.join(""); };};document.onreadystatechange = function(){ if(document.read...
阅读全文
摘要:作 用 传回XML 文件资料的目前状况。 基本语法 intState = xmlDocument.readyState; 说 明 这个属性是只读的,传回值有以下的可能: 0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。 1-LOADING:加载程序进行中,但文件尚未开始解析。 2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。 3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。 4-COMPLETED:文件已完全加载,代表加载成功。
阅读全文
摘要:<!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"><head> <title></title></head><body> <script type="text/j
阅读全文
摘要:用传统方式校验用户名是否重复传统方式校验用户名是否重复的设计分析RegUserUIReguser.jspRegUserMain.jsp注册校验用户名是否重复VerifyUserName?返回怎样的一个页面VerifyUserName这个Action校验用户名后还要回到第一个jsp页面上,而第一个jsp页面是第一个action显示出来的,所以也可以在第一个action的基础上增加校验用户名的功能,这就没有做到职责单一了,思路没有单独做一个VerifyUserName的action来校验用户名清晰。在校验用户名的action和jsp页面中要增加怎样的代码呢?由于显示结果是增加一条提示信息而已(用&
阅读全文
摘要:Javascript的重要性使用率1、在web应用中,涉及到前端界面编程基本上都要用到javascript语言;2、Web2.0及Ajax推动了javascript语言。3、随着大量的c/s应用转向b/s,富客户端技术的不断推广,javascript语言的应用范围还将不断加大;javascript的特点简单动态基于对象(面向对象)Javascript面向对象概述Javascript是一种面向(基于)对象的动态脚本语言,是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。他具有面向对象语言所特有的各种特性,比如封装、继承及多态等。但对于大多数人说,我们只把
阅读全文