• Extjs介绍(一)


    1:

    最近在做一个项目,用到Extjs框架,在网上查了一些资料,和自己对它应用的理解,写了下面的一些内容和大家分享。主要内容为Extjs的概述及Extjs各种常用控件的使用.更适用于初学Extjs时使用。

    2:

      Extjs基于html/css+javascriptAjax框架主要用于创建前端用户界面。Extjs是一个跨浏览器的应用,

    RIA(Rich Internet Applications):富互联网应用,具有高度互动性、丰富用户体验以及功能强大的客户端。

    MVC(Model View Controller)即把一个应用的输入、处理、输出流程按照ModelViewController的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层

    Ext的适配器:

    Ext成型于YahooUIJavascript库的扩展。在当时,Ext须依赖YUI的底层代码来处理跨浏览器的问题。现在ExtJS已经是独立、免依赖的库了(standalone),你可将Extjs替换为另外你所选择javascript库,如prototypejQuery、或者是这些之中的最佳选择,>Ext自带的底层库。负责将这些库(包括Ext自带的底层库)映射为Ext底层库的这部分代码,我们称之为适配器(Adapters)。

     

    3          javascript    

    在开始Extjs的学习前,我们先来了解一点javascrip的基础知识吧.

    3.1数据格式之最最最基本的JSON

    说到javasript,首先不得不提的就是json,我们先来看看官方的解释吧。JSON JavaScript Object Notation,它是一种轻量级的数据交换格式,已经是javascript标准的一部分.对于WEB2.0来说,Json是目前最灵活的解决方案。

    好了,官方的部分就先看到这里吧,了解了解就行了,下面我们来说JSON到底是什么样的吧。

    上文有说到JSON是一种数据格式,它是怎么样的一种数据格式呢·?学过JAVA的同学应该都知道MAPMap灵活的键值对的数据格式。Json同样也是一种键值对(Key-Value)的数据格式.key->string型数据,value可以是任何的数据类型,包括基本数据类型,string ,int ,date,.也可以是一个json,还可以是某个方法(函数).通过这样一种灵活的数据格式,我们可以在实际开发过程中利用json来组装各种各样的数据.如同javabean一样,我们随时可以用json非常灵活,构造出我们想要的bean,我们想要的对象.来达到我们程序的需要。所以,Javascrip是一种弱类型的语言.但他也是面向对象的。

    3.2 Javascript的类:

    Javascrip与其他的面向对象语言如java,.net不同,它并不是基于类而是基于原型的。 Javascvipt的类其实也可以看作是json和函数的一个深度的运用.(个人理解,不代表官方言论.欢迎探讨)

    javascript创建一个类非常的容易:

    //定义名为myClass的单例类

    myClass = function{

    //private zone

     var aVar= 15,

    //public zone

     return aMethod: function() {

       alert("I'm a method of the object myObject." + "aVar: " + aVar);

     }

    }();

    myClass.aMethod();

    上述是一个全局的单例类的写法.只要myClass不使用var声明,那么这个类相对于整个有效范围内是全局的.(有效范围是指当前页面). Function(){}后面加()是使myClass成为一个单例类,在这里是闭包的一种实现。包括使函数里定义的属性成为私有属性,不对外开发。需要开放的属性与方法统统有return处定义。

    如果我们需要多次使用同一种类对象(可以多例化的类),那就必须用到javascript特有的一种东西:构造器函数和new关键字了.

    在Javascript中没有专门的类的概念,但是构造器是存在的。我们定义的function其实就可以看作是一个构造器,他构造了一类对象。你可以编写一个函数,然后通过new关键字+这个函数来创建一个这种函数类型的对象。该对象的属性及方法在函数内部定义.

    //首先,我们为我们的类定义一个带一个参数的构造器

    Var myClass = function (config) {

     this.aVar = 15;//定义默认的aVar属性;

     this.aMethod = function() {

       alert("I'm a method of the object myObject.");

     }

    }

     

    //创建类的实例

    var A = new myClass();

     

    //显示 15

    alert(A.aVar);

     

    //第二个实例

    var B = new myClass();

    javascript的原型与方法共享:

    你必须使用prototype对象:

    //我们定义了一个prototype对象的一个方法

    myClass.prototype.sharedMethod = function() { alert("I'm a shared method") }

     

    //显示我们的信息

    A.sharedMethod();

     

    //相同的信息

    B.sharedMethod();

         原型. prototype

    JavaScript 的所有function类型的对象都有一个prototype属性。这个prototype属性本身又是一个object类型的对象,因此我们也可以给这个prototype对象添加任意的属性和方法。prototype是对象的原型,由该函数构造出来的对象应该都会具有这个原型的特性。事实上,在构造函数的prototype上定义的所有属性和方法,都是可以通过其构造的对象直接访问和调用的。也可以说,prototype提供了一群同类对象共享属性和方法的机制

    此外javascript的类还有几种其他不同的写法,以上两种写法为目前eVoice中常用的两种。

     

     

    Extjs主要介绍,请看下篇。

  • 相关阅读:
    关于自动分裂的思考 | Solrex 杨文博的博客,记录我的生活、技术、思想和梦想
    在STL中,map按值来排序的实现方法_永不言弃是生命的基调!_百度空间
    C/C++学习路线(教材推荐)_Hello World!_百度空间
    Google C++ Style中允许使用的Boost库(1) 程序即人生 博客频道 CSDN.NET
    STL中map按值(value)排序
    程序即人生 » 移动平台现在可用的C++ 11特性
    开发者应该了解的 12 款 Eclipse 插件 编程语言 ITeye资讯
    Lisp的给力特性(V.S. Python3) 第二篇 程序即人生 博客频道 CSDN.NET
    Solidot | 地球上有多少Java程序员?
    在STL中,map按值来排序的实现方法
  • 原文地址:https://www.cnblogs.com/CharmingDang/p/9663928.html
Copyright © 2020-2023  润新知