var UIX = (function(){    /**
     * class
     * --------------------------
     */
    function Class(){
    };
    
    Class.prototype.construct = function(){
    };
    Class.extend = function(def){
var jsonp = UIX.Class.extend({
    construct: function(){
        this.script = document.createElement("script");
    },
谁能帮我解释下代码  逐行解释,谢谢

解决方案 »

  1.   

    这好像不是JS,好像是外部引用的JS库,或都其它库
      

  2.   

    楼主这个需要插件吧,UIX是那个引用的js的库对象,或者是.dll文件加入浏览器的插件中
      

  3.   

    如果写成下面这个样子可能容易理解function _UIX(parameterlist){
        // 声明一个Class类
        function Class(){
        }
        
        // 扩展Class类的属性
        // 调用Class的原型方法的构造器赋值
        Class.prototype.construct = ...
        // Class扩展一个extend属性
        Class.extend = function()...
    }var UIX = new _UIX();上面的代码在逻辑上和下面的等同。
    // 声明并计算获得UIX对象
    var UIX = (function(){    // 声明Class类
        function Class(){
        };
        // 为Class类创建构造器
        Class.prototype.construct = function(){
        };
        // 为Class扩展extend属性
        Class.extend = function(def){
    // 调用UIX.Class的extend方法,传入的参数是一个对象(你可以理解为匿名对象{...})
    var jsonp = UIX.Class.extend({
        // 匿名对象里面的一个属性construct
        construct: function(){
            // 将当前对象(调用方)的script属性设置为document.创建的一个新script对象,接下来应该是要加载这个script
            this.script = document.createElement("script");
        },
      

  4.   

    能解释下  extend 这个关键字,在js面相对象 写法 时怎么使用吗?
      

  5.   

    extend好象我换个名字也可以,不同的类库不同的定义方式!
      

  6.   

    extend不是js的关键字,js的oop不是基于class的,而是基于prototype。所以没有class和extend关键字。上面的代码就是比较不喜欢prototype机制的人模拟其它语言的class、extend。