让jquery构造出类

最近用到jquery的自动完成插件 感觉很不爽 就想自己写个 可我对jquery可以说认识的少之又少 从哪里开始了解都不知道 忽然想到jquery好像可以像C#一样实例化对象 然后就是对对象的操作 如果我按C#的思路写插件不就简单了? 还听说jquery就是按C#的习惯开发的 于是在网上找了点jquery的资料看了下 归纳如下 这些资料只能说让一些不认识jquery的人了解jquery 深入的我也说不出来......

例子:

<!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>让jquery构造出类</title>

 

    <script src="js/jquery-1.2.6-vsdoc-cn.js" type="text/javascript"></script>

    <script language="javascript" type="text/javascript">

        //定义个一MyFunction类 在function中可以说是它的构造函数

        var MyFunction = function(name) {

            this.Name = name;

            this.getName = function() {

                return "function name is " + this.Name;

            };

        }

 

        MyFunction.Author = "S.S."; //定义一个静态属性Author

        MyFunction.getAuthor = function() { //定义一个静态方法

            return MyFunction.Author;

        };

        MyFunction.prototype = { //MyFunction扩展方法(扩展了一个属性Time和一个方法getTime)感觉有点像继承

            Time: "2009-04-03 13:16",

            getTime: function() {

                return this.Time;

            }

        };

        MyFunction.prototype.blog = "http://shirley_gx.blog.163.com"; //MyFunction扩展一个属性blog

 

        alert(MyFunction.getAuthor());

        var myInstance1 = new MyFunction("123");

        var myInstance2 = new MyFunction("456");

        alert(myInstance1.getName());

        alert(myInstance2.getName());

        myInstance1.Time = new Date();

        alert(myInstance1.mail);

        alert(myInstance1.getTime());

    </script>

 

</head>

<body>

 

</body>

</html>

以上运行看看 并对照最后几行的输出不难发现jquery和C#语言类似 静态的只能用类名访问 不能用初始化的对象来访问,它也能改它的成员值

最后

        MyFunction.Author = "S.S."; //定义一个静态属性Author

        MyFunction.getAuthor = function() { //定义一个静态方法

            return MyFunction.Author;

        };

这段代码等价与下面的代码

        // 实现继承的方法;

        MyFunction.extend = function(o, p) {

            if (!p) { p = o; o = this; }

            for (var i in p) o[i] = p[i];

            return o;

        };

        // MyFunction进行扩展;

        MyFunction.extend({

            Author: "S.S.",

            getAuthor: function(i) {

                return MyFunction.Author;

            }

        });

以上是我对jquery认知的一些小小的成果.........-_-!

转载于:https://www.cnblogs.com/shirleygx/archive/2009/04/03/1602538.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值