MooTools的瑕疵

Posted 爱无边界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MooTools的瑕疵相关的知识,希望对你有一定的参考价值。

  1 each方法无法break.

  例子: 找出一个数组中的第一个偶数.

  var myarr=[1,2,3,15,5,21,22];

  var rs=0;

  myarr.each(function(val,idx){www.mlyrx120.com

  if (val%2 ==0 ) {

  rs=val;

  return ; //return不是我想要的,我想在这里方便快捷的结束each,咋办?

  }

  });

  目前我想到的是 使用 throw抛出一个异常,不知道各位还有更好的解决方案没.

  (当然修改moo源代码可以得到更好的方案)

  2 Element对象没有setValue方法.

  这个比较不能忍啊 呵呵,想设置页面表单域的值都要自己想办法,不理解为啥!

  3 Json.Remote对象里的hardcode.

  见代码里的这句大家就明白了:

  send: function(obj){

  return this.parent(this.url, \'json=\' + Json.toString(obj));

  }

  我想用这个方法,那服务端只能接受名为json的json序列化字符串. 太不灵活了.

  4 Json.Remote的send是否应该考虑支持发送多个json串呢?

  5. Class 里的一个bug

  var Class = function(properties){

  var klass = function(){

  return (arguments[0] !== null && this.initialize && $type(this.initialize) == \'function\') ? this.initialize.apply(this, arguments) : this;

  };

  $extend(klass, this);

  klass.prototype = properties;

  klass.constructor = Class;rl.82676666.com

  return klass;

  };

  var Class = function(properties){

  var klass = function(){

  return (arguments[0] !== null && this.initialize && $type(this.initialize) == \'function\') ? this.initialize.apply(this, arguments) : this;

  };

  $extend(klass, this);

  klass.prototype = properties;

  klass.constructor = Class;

  return klass;

  };

  如果 我要传的第一个参数就是null时 那么整个类机制将失效

  例如 一个类的构造方法有两个参数 ,而他又有一个子类 子类也是如此

  我在创建子类的时候,如果构造方法的第一个参数我就是要传null,

  那么在子类里调用父类的方法将失败.

  修改方法 将 null 换成其他的特殊值.

  在新版本moo里 用的是 moo定义的 $empty

  arguments[0] !== $empty

以上是关于MooTools的瑕疵的主要内容,如果未能解决你的问题,请参考以下文章

MooTools的瑕疵

Mootools教程资源

Mootools:为啥 PHP 中的每个 flush() 都没有反映在 mootools 事件中的用户端

MooTools中文介绍

mootools常用特性和示例(基础篇1)

Mootools 是不是 100% 防止 javascript 关闭?