1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

ajax入门指南(二)

作者:用户 来源:互联网 时间:2016-07-24 19:17:59

类的声明方法functionprototype属性test子类

ajax入门指南(二) - 摘要: 本文讲的是ajax入门指南(二), ajax入门指南,相信对ajax初学者有所帮助。 javascript面向对象编程实现:             1.类的声明:              

ajax入门指南,相信对ajax初学者有所帮助。

javascript面向对象编程实现:
            1.类的声明:
                function test1(){
                    this.p1 = "p1";
                    this.p2 = "p2";
                    this.f1 = function(){ alert("f1"); }
                    this.f2 = function(){ akert("f2"); }
                }
                上面的代码声明了两个公有的属性p1和p2,两个方法f1和f2.
                如何申明私有变量呢?
                function test1(){
                    var _test = "test";
                    this.p1 = "p1";
                    this.p2 = "p2";
                    this.f1 = function(){ alert("f1"); }
                    this.f2 = function(){ akert("f2"); }
                }
                上面的代码通过var关键字声明了一个局部变量_test,其作用域是test1类定义的内部,对外不公开.
                如何申明类的静态变量和静态方法呢?
                test1.staticProp = "static var";
                test1.staticMethod = function(){
                    alert("static method");
                }
                还可以通过javascript中对象的prototype属性来申明类的实例属性或方法:
                test1.prototype.prop2 = "prop2";
                test2.prototype.method2 = function(){
                    alert(" this.prop2");
                }
`               利用prototype属性,可以实现另一种类的声明方法:
                function test(){}
                test.prototype = {
                    p1 : "p1",
                    p2 : "p2",
                    f1 : function(){
                        alert("f1");
                    }
                  }
 如何实现类的继承呢?通过复制父类的所有属性和方法来实现子类的继承:
                用for(....in ....)方法来实现遍历父类所有的属性和方法
                这里看看我如何让新声明的test1类继承test类的:
                function test1(){}//定义新声明的test1类.
                var p;               
                for(p in test.prototype){    //遍历父类的所有属性和方法
                    test1.prototype[p] = test.prtotype[p];   //把父类的所有属性和方法全部复制到新声明的子类test1中
                }
                test1.prototype.newMethod = function(){//定义新声明的子类test1的新方法
                    alert("new method");
                }
                其实prototype框架已经帮我们实现了这种继承,我们来看看它是如何实现的:
                Object.extend = function(destination, source){
                    for(property in source){
                        destination[property] = source[property];
                    }
                    return destination;
                 }
                Prototype框架为Object对象定义了extend方法,该方法有两个参数destination和source,分别对应于子类和父类,所以我们前面所讲的test1继承test可以简化代码如下:
                 function test1(){
                    test1.prototype = Object.extend({
                        newMethod : function(){
                            alert("new method");
                        }
                    },
                    test.prototype
                );
           
                如果我们改变一下上述代码中extend方法中的两个参数的顺序:
               function test1(){
                    test1.prototype = Object.extend(
                        test.prototype,
                        {
newMethod : function(){
                            alert("new method");
                        }
                    },
                ); 
                   可以发现,对于test1子类来说效果是相同的..
                    但是,我们进一步会发现,父类test确拥有了子类test1的新增方法,虽然这不是我们最初想要的继承效果,但是这种方法却使我们有了扩展对象属性或者方法的手段了,不是吗?



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索类的声明 , 方法 , function , prototype , 属性 , test 子类 redis入门指南第二版、redis入门指南、webgl入门指南、微信小程序入门指南、cloudstack入门指南,以便于您获取更多的相关知识。

ajax-关于Ajax 入门一直出错

问题描述 关于Ajax 入门一直出错 在客户端页面输入自己的名字,服务端返回‘你好+名字’执行会有错误提示AjaxGet()函数未定义我是在VS下开发的给你们贴出目录和源码HTMLPage.htm是客户端页面,源码...

jquery $.ajax入门应用二_jquery

前台 复制代码 代码如下: 无标题页 .show{ display:block;} .hide{ display:none;} //这个方法把ajax方法封装一下,方便调用。 function myajax(){ $.ajax({ type:'get', url:'ajax.aspx', data:'id=1name=tree', dataType:'html', beforeSend:beforecall, success:callback }); }...

Ajax 及其入门基础(二)

            用户名:                             

ajax技术及实例(转)

...子允许用户在一个网页中查看多种源内容 2.Ajax 桌面 该指南是一个手把手教程,通过它你可以创建一个类似 于PageFlagePageFlage 和 Netvibes的桌面/网页。这个指南的目的是展示一些基于web应用程序的技巧,这些技巧也是比较常用的...

Ajax入门(二)Ajax函数封装

转自我的个人博客原址 如果看了的我上一篇博客《Ajax入门(一)从0开始到一次成功的GET请求》的话,肯定知道我们已经完成了一个简单的get请求函数了。如下: /** * 一个简单的get请求 * @param {String} url 请求地址,文件名 * @param...

前三篇
后三篇