代码如下:/* * Copyright VeryIDE,2007-2008 * http://www.veryide.com/ * * $Id: veryide.library.js,v2.3 17:29 2008-11-16 leilei $ */ function $(obj){return document.getElementById(obj);} function $N(obj){return document.getElementsByName(obj);} function $T(obj){return document.getElementsByTagName(obj);} function $V(str){document.write(str);} //body load function addLoadEvent(func) { var oldonload = ...
代码如下:Request = { QueryString : function(item){ var svalue = location.search.match(new RegExp([\?\&] + item + =([^\&]*)(\&?),i)); return svalue ? svalue[1] : svalue; } } var key = Request.QueryString(key); Request.QueryString是否跟ASPNET和JAVA很象呢?
结果呢,看了大半天,有了一个大概的了解,细细一回味,好像什么都没懂... 这篇文章是参考>第7,8,9章而写成的,我也 会尽量按照原书的结构来说明javascript的面向对象技术(对象/数组->函数类/构造函数/原型).对一些我自己也拿捏不准的地方,我会附上原文的英文语句,供大家参考. 如果不做说明,则文中出现的所有英文语句(程序体除外)都是引自>. ------------------------------------------------- 对象和数组(Objects and Arrays) 什么是对...
工厂模式: 初级开发者可能会这样定义对象: var obj = new Object(); obj.name = "hero"; obj.showName=function (){alert(this.name);} 这里存在一个问题就是如果我们要在多个地方用obj对象,可能在程序中类似的代码要写好多遍,于是产生了工厂方法 function createObj() { var obj = new Object(); obj.name="hero"; obj.showName=function (){alert(this.name);} return obj; } var obj1 = createObj(); var obj2 = createObj(); 和...
围绕面向对象的几大关键字:封装 ,继承 ,多态 ,展开JavaScript面向对象封装 :javascript中创建对象的模式中,个人认为通过闭包才算的上是真正意义上的封装 ,所以首先我们先来简单介绍一下闭包,看下面这个例子:<script type="text/javascript"> function myInfo(){ var name ="老鱼",age =27; var myInfo = "my name is" + name + "i am" + age +"years old"; function showInfo(){ alert(myInfo); } return showInfo...
JavaScript就其本质是函数式编程语言,是Lisp的后代,同时又加入了一下面向对象编程的元素,放弃了一些难懂的函数式语言的元素。 函数式编程语言可以实现面向对象编程,这是毫无疑义的,Curry方法可以实现对类和对象的模拟。但是JavaScript提供了另一种实现OOP的方法:原型继承。 因此,JavaScript实现面向对象编程和一般的函数式编程语言还是有所区别的。 本文我将会给大家介绍JavaScript实现单继承和多继承的方法。 用原型实现单...
虽然在开始学习的时候觉得比较难,但只要理解了,用起来是非常方便和意义确定的。JavaScript也提供了这个this关键字,不过用起来就比经典OO语言中要"混乱"的多了。下面就来看看,在JavaScript中各种this的使用方法有什么混乱之处? 1、在HTML元素事件属性中inline方式使用this关键字: // 可以在里面使用this ">division element 我们一般比较常用的方法是在此使用:javascirpt: EventHandler(this),这样的形式。不过这里其实可以...
一、 起因 那天用到prototype.js于是打开看看,才看几行就满头雾水,原因是对js的面向对象不是很熟悉,于是百度+google了一把,最后终于算小有收获,写此纪念一下^_^。 prototype.js代码片段 代码如下:var Class = { create: function() { return function() { this.initialize.apply(this , arguments); } } } // Class使用方法如下 var A = Class.create(); A. prototype={ initialize:function(v){ this .value=v; } showValue...
在线演示 http://img.jb51.net/online/pintu/pintu.htm 代码如下: JS拼图游戏 body{ font-size:9pt; } table{ border-collapse: collapse; } input{ width:20px; } JS原创作品:JS拼图游戏 注释完整, 面向对象 转载请注明来自http://blog.csdn.net/sunxing007 行列 开 始 转载请注明来自http://blog.csdn.net/sunxing007 //ie7以下默认不缓存背景图像,造...
5、用 构造函数+原型 定义一个类;同一构造函数可以定义出多个类型 代码如下: /** * $define 写类工具函数之二 * @param {Object} constructor * @param {Object} prototype */ function $define(constructor,prototype) { var c = constructor || function(){}; var p = prototype || {}; return function() { for(var atr in p) arguments.callee.prototype[atr] = p[atr]; c.apply(this,arguments); } } 与第四种方式类似,仍然...
10、mootools.js的写类方式 mootools.js的最新版本是1.2.3,这里使用的是1.2.0。mootool被设计成非常紧凑的,模块化的,面向对象的的js库。mootool中写类用Class类。Class类由Native类new出来的: 代码如下:/* *Script: Class.js */ var Class = new Native({ name: Class, initialize: function(properties){ properties = properties || {}; var klass = function(empty){ for (var key in this) this[key] = $unlink(this[key])...
代码如下: 结果为 男 不再是父类的 女 // --></ script>
9、YUI的写类方式 这里引入的是YUI 2.7.0版,只需引入yahoo.js。YUI引入了命名空间,类似于java的包。以下yahoo的工具函数包YAHOO.namespace YAHOO.lang YAHOO.lang.hasOwnProperty YAHOO.lang.extend YAHOO.lang.augment YAHOO.log YAHOO_config and YAHOO.env YUI Module Names 写类方式: 代码如下://定义包名 YAHOO.namespace("test"); //定义类 YAHOO.test.Person = function(name) { this.name = name; } YAHOO.test...
8、Ext.js的写类方式 这里用的是Ext core3.0,Ext中用Ext.extend来定义一个类(当然它更多用来扩展一个类),Ext整个框架各种控件如Panel,MessageBox等都是用Ext.extend方法来扩展。这里仅仅用它来定义一个最简单的类。 看Ext.extend的代码可得知,它仍然是用构造函数和原型来组装一个类。 这里只需传两个参数即可,第一个参数是根类Object,第二个是原型。 代码如下:/** * Person类 * @param {Object} name */ var Person = Ext...
2、原型方式 代码如下:/** * Person类:定义一个人,有个属性name,和一个getName方法 */ function Person(){} Person.prototype.name = "jack"; Person.prototype.getName = function() { return this.name;} 把类的属性(字段),方法都挂在prototype上。 造几个对象测试下: 代码如下: var p1 = new Person(); var p2 = new Person(); console.log(p1.getName());//jack console.log(p2.getName());//jack 可以看出输出的都是...