JavaScript
tongle_deng
持續奮鬥,艱苦卓絕,看你的了JAVA!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js继承之-----组合继承
组合继承(combination inheritance),有时候也叫做伪经典继承,指的是讲原型链和借用构造函数的技术组合到一起,从而发挥二者之长。思路:是使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承。这样,通过在原型上定义方法来实现了函数复用,又能够保证每个实例都有自己的属性,如下代码: function SuperType(name){ t原创 2012-07-03 23:16:34 · 3757 阅读 · 0 评论 -
javascript 检查日期之间相差几天
网上摘抄的,代码如下:var s1 = "2007-01-01";var s2 = "2007-12-31";s1 = s1.replace(/-/g, "/");s2 = s2.replace(/-/g, "/");s1 = new Date(s1);s2 = new Date(s2);var days= s1.getTime() - s2.getTime();var ti转载 2012-07-24 10:11:30 · 1518 阅读 · 0 评论 -
js处理xml文件
js处理XMLvar table = null;var tbname = null;var fields = null;var xmlobject = null;var fid = null;var fname = null;var xmlstring = "abcfdfddfddffdfddfddf";xmlstring += "fghdfdfdf";xmlstring转载 2012-08-07 22:26:00 · 2601 阅读 · 0 评论 -
常用的js内置对象
1. 字符串concat()//连接字符串slice(startIndex,endInex)//截取字符串(包括开始,不包括endIndex)substring(start,stop)//从2开始到5结束substr(start,length);//从start开始,截5个长度的字符lastIndexOf(".")//得到最后一个"."出现的位置2. 日期类型getFullYear(原创 2013-03-05 15:36:28 · 1560 阅读 · 0 评论 -
js的timer计时器
//在3秒之后会会执行bigger这个函数,setTimeout的意思就是间隔一段时间来执行某个函数//setTimeout仅只会执行一次,var timeId1 = setTimeout("bigger()",3000)//如果希望重复执行,需要使用setIntervalvar timeId = setInterval("bigger()",3000)function bigger原创 2013-03-05 16:25:28 · 763 阅读 · 0 评论 -
js创建最简单的对象
1. 动态语言是基于原型拷贝的对象定义//类中属性的定义function Person(name,age){this.name = name;this.age = age;this.address = "xxxx";var x = 10;//如果没有用this来声明,则只是一个局部变量,不是类的属性this.say = function(){alert(th原创 2013-03-05 14:40:14 · 373 阅读 · 0 评论 -
js对象的操作
1. 对象属性的访问方式function Person(name,age){ this.name = name; this.age = age; this.say = function(){ return this.name; } } var p1 = new Person("zangsan",20); //方式1 var vname原创 2013-03-05 15:04:24 · 541 阅读 · 0 评论 -
js的简单的事件处理和with关键字
1. 简单的事件处理点击试下<div onmouseover="clickd(this);" onmouseout="outD(this);" style="cursor:pointer">点击试下innerHTML;obj.style.color = '#f000'.//设置文本的样式obj.style.fontSize = '18px'.2. withwith(do转载 2013-03-05 15:52:39 · 724 阅读 · 0 评论 -
js的基础知识
1. 变量的定义方法体外带var的定义:全局变量方法体内带var的定义:局部变量方法体内不带var的定义:全局变量2. 变量的作用范围方法体外带var的定义:全局变量方法体内带var的定义:局部变量方法体内不带var的定义:全局变量3. js的运行时解释特点4. 变量的类型typeof: ex:var a = 10.6 ; alert(typeof a);5. 强制类型原创 2013-03-04 11:36:21 · 388 阅读 · 0 评论 -
js小功能整理
1. 只能输入阿拉伯数字的输入框,配合的js代码1-1. 配合keyup事件使用function DF_numKeyTestNew(obj){ //请将此函数同时放在表单输入字段的onKeyUp和onMouseOver中 obj.value = obj.value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符 obj.value = o原创 2013-03-28 16:08:57 · 607 阅读 · 0 评论 -
javascript:Function笔记1
1. function是一个特殊的对象,是一个function类的实例function fn1(){ } alert(typeof fn1);2. function是一个特殊的对象,在内存模型中,就是一个键值对;所以可以通过如下方式来定义function fn1(){}//等价于var fn1 = function(){}3. 这里是重点:原创 2013-04-03 15:08:55 · 586 阅读 · 0 评论 -
javaScript学习笔记-Function2
1. js中函数不支持重载,仅会被覆盖var fn1 = function(){ alert("1") } fn1 = function(){ alert("2"); } fn1();//22. 函数有如下的定义方式://new Function(arg1,arg2,...,argn,function_body); var fn = new Function("num1",原创 2013-04-03 15:15:32 · 541 阅读 · 0 评论 -
javaScript学习笔记-Function3
1. 由于函数是对象,所以可以把函数作为参数来传递 function callFun(fun,arg){ return fun(arg); } function say(str){ alert("hello "+str); } callFun(say,"Leon");//hello Leon2. 作用域延伸的案例function fn1(arg){原创 2013-04-03 15:32:22 · 625 阅读 · 0 评论 -
js 输入域禁止录入数字
if(this.value.match(/\d+/g)){ var numStr = this.value.match(/\d+/g); this.value = this.value.substring(0,this.value.indexOf(numStr)); //alert(numStr);}以上的代码配合keyup事件来完成原创 2013-08-02 11:10:59 · 696 阅读 · 0 评论 -
js控制特殊字符的输入配合onkeypress事件使用
function specialTextValidate() { var code; var character; var err_msg = "该输入域不能包含下列字符之一:\n \\ / : * ? \" | & , "; if (document.all) { code = window.event.keyCode; } else转载 2013-11-19 13:44:50 · 3185 阅读 · 0 评论 -
js获取当前时间的一些操作
var now= new Date();now.getYear(); //获取当前年份(2位)now.getFullYear(); //获取完整的年份(4位,1970-????)now.getMonth(); //获取当前月份(0-11,0代表1月)now.getDate(); //获取当前日(1-31)now.getDay(); /转载 2012-07-24 10:42:15 · 5036 阅读 · 0 评论 -
js最佳实践3---性能
1. 执行速度要比变异性语言慢的多。受限于系统分配给的Web应用的内存和cpu周期起源。不过还是有一些方式可以改进代码的整体性能的。先来理解那些东西影响代码性能依然是非常重要的。1. 注意作用域避免全局查找:优化脚本性能最重要的就是注意全局查找。全局查找开销更大。如下代码:function updateUI(){var imgs = document.getElem原创 2012-07-13 09:58:28 · 1649 阅读 · 0 评论 -
js最佳实战之----编程实践
1. 尊重对象所有权它的意思是你不能修改不属于你的对象。简单的说,如果你不负责维护某个对象、它的对象或者他的方法,那么你就不能对他们进行修改。更具体的说: 不要为实例或原型添加属性 不要为实例或原型添加方法 不要重定义已经存在的方法对于多个人公用的对象进行改动就会产生错误。例如对stopEvent()的函数原本是取消某个事件的默认行为,但是你修改其,原创 2012-07-15 16:22:41 · 568 阅读 · 0 评论 -
js操作html页面写入excel
function MakeExcel(){var i,j; try { var xls = new ActiveXObject ( "Excel.Application" ); } catch(e) { alert( "要打印该表,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。转载 2012-07-03 23:33:00 · 11975 阅读 · 1 评论 -
js继承之------原型式继承
借助原型可以基于已有的对象创建新对象,同时还不必因此常见自定义类型。为了达到这个目的,他给出了如下函数:function object(o){ function F(){} F.prototype = o; return new F();}在object()函数内部,先创建一个临时性的构造函数,然后将传入的对象作为这个构造函数的原型,最后返回了这个临时类型的一个新实例。原创 2012-07-08 22:45:03 · 1234 阅读 · 0 评论 -
js继承6-----寄生组合式继承
组合继承是Javascript最常用的继承模式;不过,他也有自己的不足。组合继承最大的问题就是无论什么情况下,都会调用两次超类型构造函数:一次是在创建子类型原型的时候,另一次是在子类型构造函数内部。没错,子类型最终会包含超类型对象的全部实力属性,但我们不得不在调用子类型构造函数时重写这些属性。再来看看组合类型的例子:function SuperType(name){this.nam原创 2012-07-09 21:34:29 · 8460 阅读 · 7 评论 -
对象的创建方法一之------工厂模式
1. 代码function createPerson(name,age,obj){ var o = new Object(); o.name=name; o.age= age;o.job = job;o.sayName = fucntion(){alert(this.name);}return o;}var person1 = createPerso原创 2012-06-26 16:49:18 · 703 阅读 · 0 评论 -
js操作读取excel文档
New Document function ReadExcel() { var tempStr = ""; //得到文件路径的值 var filePath = document.getElementById("upfile").value; /转载 2012-07-03 23:46:30 · 59758 阅读 · 4 评论 -
js继承5之-----寄生式继承
寄生式继承的思路与寄生式构造函数和工厂模式类似,即创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后再像真的是他做了所有工作一样返回对象。例如:function createAnother(original){ var clone = object(original);//通过调用函数创建一个新对象 clone.sayHi = function(){ /原创 2012-07-09 21:00:45 · 1611 阅读 · 0 评论 -
对象创建的方法二之------构造函数模式
1.代码function Person(name,age,job){ this.name = name; this.age = age; this.job = job;this.sayName = function(){ alert(this.name);}}var person1 = new Person("Nicholas",29,"Saftwa原创 2012-06-26 17:56:27 · 790 阅读 · 1 评论 -
对象的创建方法之三---组合使用构造函数模式和原型模式(最常用的模式)
创建自定义类型的常见方式,就是组合使用构造函数模式和原型模式。是用来定义引用类型的一种默认模式。构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性。结果:每个实例都会有自己的一份实例属性的副本,但同时又共享着对方法的引用,最大限度的节省了内存。另外这种混成模式又支持向构造函数传递参数,可谓是集两种模式之长。下面的代码重写了前面的例子:function Person(n原创 2012-06-28 23:25:15 · 561 阅读 · 0 评论 -
js如何创建自己的Js库---基础语法
1. js库的创建方法如下:(function(){ function $(){ //代码 alert("test"); } function getElementByClassName(){} //将dtle命名空间注册到winow对象上 window["dtle"] = {} //将$函数注册到dtle命名空间下 window["dtle"]["$"]=$原创 2012-07-11 21:12:31 · 1202 阅读 · 0 评论 -
js最佳实践2----松散耦合
1. 解耦HTML/JAVASCRIPT只要应用的某个部分过分依赖于另一部分,代码就是耦合过紧、难于维护。表现:修改一个对象的同时,需要修改另一个对象。html和javascript各自代表了解决方案中的不同层次:HTML是数据,javascript是行为。因为他们天生就需要交互,所以有多种不同的方法将这两个技术关联起来。表现一、直接写在html中的javascript,使用包含原创 2012-07-11 20:14:58 · 2682 阅读 · 0 评论 -
javascript中的继承-----原型链
很多OO语言都支持两种继承方式:接口继承和实现继承。但在ECMAScript中无法实现接口继承,只支持实现继承,而且其实现继承主要是依靠原型链来实现的。1. 基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单回顾一下构造函数、原型个和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例也包含一个指向原型对象的内部指原创 2012-06-30 09:25:26 · 790 阅读 · 0 评论 -
js最佳实践1---可维护性
1. 可维护性编写可维护的代码很重要,因为大部分开发人员都话费大量实践维护他人代码。确保自己代码的可维护性,以便其他开发人员在此基础上更好的开展工作。1.1 什么是可维护的代码?可理解性直观性可适应性可扩展性可调试性1.2 代码约定:一种让代码变得可维护的简单途径是形成一套JavaScript代码的书写约定。可读性:要让代码具有可维护性,首先他必须可读。(代码的原创 2012-07-11 16:58:33 · 1037 阅读 · 0 评论 -
js继承之二-----借用构造函数
在解决原型中包含引用类型值所来来问题的过程中,开发人员开始使用一种叫做借用构造(函数(constructor stealing)的技术。这种技术的基本思想相当简单,即在子类型构造函数的内部调用超类型构造函数。别忘了,函数只补过时在特定环境中执行的代码的对象,因此通过使用apply()和call()方法也可以在(将来)新创建的对象上执行构造函数,如下所示: function Su原创 2012-07-03 22:57:54 · 1606 阅读 · 0 评论 -
求eclipse java heap space 问题解决方案
方案1: run->run...’,选择(x)=Argument标签页下的vm arguments框里输入 -Xms768 -Xmx1024, 保存运行就ok了方案2: 修改eclipse.ini 配置文件: 1)这个文件在eclipse安装目录下可以找到,修改-Xms128 -Xmx转载 2015-12-25 22:33:37 · 800 阅读 · 0 评论
分享