博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Mootools中Core的类和函数示例

Posted on 2007-11-26 15:12  迷梦江南  阅读(1062)  评论(0编辑  收藏  举报
Mootools中Core.js是mootools的核心代码,虽然网上现在已经有了中文的帮助文档,但是有部分并没有写示例,所以我写了下面的小示例,只大家供参考。
mootools中文帮助文档下载:
https://files.cnblogs.com/mimengjiangnan/mootools_doc_cn_1.rar
以下示例都参考上面文档写的。
<
html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>Core test</title>

    <script type="text/javascript" src="../mootools-release-1.11.js"></script>

    <script type="text/javascript" >

        window.addEvent('domready',function(){

            //$defined函数:如果传入的参数为null或undefined,则返回fasle;否则返回true;

            function testDefined(str1){

                if($defined(str1)){

                    alert(str1);

                    return;

                }

                alert('参数是空值');

                alert(str1);

            }

           

            testDefined('test');//弹出对话框内容是:test

            testDefined();//第一次弹出对话框内容是:参数值是空值;第二次弹出对话框内容是:undefined

            testDefined('');//弹出对话框内容是:''(空白)

           

           //$type函数:返回传入对象的类型

           function testType(str1,str2,str3){

                alert($type(str1));

                alert($type(str2));

                alert($type(str3));

           }

           s1="sss";

           s2=123;//s2的值是123或0.123时获取的数据类型都是number类型

           s3=s1+s2;

           testType(s1,s2,s3);

          

          

           //$merge函数:把几个对象进行合并,合并是递归的,即对象中如果有子对象,则子对象也会进行合并。(对象中同名属性会被这一系列对象中最后一个拥有该属性的对象的值替代)

           function testMerge(obj1,obj2,obj3){

                var mobj1=$merge(obj1,obj2,obj3);

                var mobj2=$merge(obj1,obj2)

                var msg1=mobj1.a+','+mobj1.b+','+mobj1.c+','+mobj1.d;

                var msg2=mobj2.a+','+mobj2.b+','+mobj2.c;

                alert(msg1);//弹出对话框内容是:3,1,2,4

                alert(msg2);//弹出对话框内容是:0,1,2

           }

           var o1={a:0,b:1};

           var o2={c:2};

           var o3={a:3,d:4};

           testMerge(o1,o2,o3);

            //$extend函数:把参数中第二个参数的对象的所有熟悉复制到第一个参数对象中

            function testExtend(obj1,obj2){

                $extend(obj1,obj2);

                var msg=obj1.name+','+obj1.sex+','+obj1.age

                alert(msg);//当对象中有相同成员时,第二个对象中成员的内容会覆盖第一个对象中的内容

            }

            var o1={name:'ywg1',sex:'男'};

            var o2={name:'ywg2',sex:'男',age:25};

            testExtend(o1,o2);

           

            //$native函数:给传入的对象(自定义对象或javascript原生对象)增加一个.extend方法,这个extend方法可以用来给原来的对象添加属性(注意,如果这些属性在原来的对象上不存在,则这些属性将被加在原来对象的prototype上面)

            未完成,不知道怎么去调用这个函数,以后弄明白了再补上。

            //$chk函数:如果传入的参数对象存在或有值(包括 0),则返回true; 否则返回false。对于接受0值的情况非常有用。

            function testChk(obj){

                if($chk(obj)){

                    alert(obj.a);

                    return;

                }

                alert('传入的对象不存在');

            }

            var o1={a:'hello'};

            testChk(o1);

            testChk();

            //$pick函数:如果第一个给出的参数存在,则返回这个参数的值;否则返回给出的第二个参数。

            function testPick(obj1,obj2){

                var msg=$pick(obj1,obj2);

                alert(msg.m);

           }

            var o1={m:'第一个对象'};

            var o2={m:'第二个对象'}

            testPick(o1,o2);

            testPick(null,o2);

           

            //$random函数:传入一个上限和一个下限,返回一个介于其间的随机数.

            function testRandom(i1,i2){

                var i=$random(i1,i2);

                alert(i);

            }

            testRandom(0,100);

           

            //$time函数:返回当前时间戳

            function testTime(){

                alert($time());

            }

            testTime();

           

            //$clear:清理Timeout或Interval.

            function testClear(){

                var myTimer = myFunction.delay(5000); //产生一个5秒后执行myFunction的任务.

                alert(myTimer);

                myTimer = $clear(myTimer);            //取消上面的任务

                alert(myTimer);

            }

            function myFunction(){

            }

            testClear();

           

            //Abstract类: 被当作单例来使用。 它将给对象加入一个.extend方法

            var Site = new Abstract({

                 name: 'MooTools',

                 welcome: function(){

                     alert('Welcome to ' + this.name + '!');

                 }

            });

            alert(Site.name); //显示 'MooTools'

            Site.welcome();   //显示 'Welcome to MooTools!'

           

        });

    </script>

</head>

<body>

</body>

</html>