Mootools的类型主要包含下边几部分:String:字符串;Number:数字;Array:数组;Object:对象;Json:;Cookie:.

这也是我们今天的讲述重点.每一种数据类型Mt都为其扩展了自己的方法,这一点通过我为大家提供的Editplus素材文件就能看的出来,因为涉及的方法比较多,所以我就挑选几个常用的方法给大家讲解一下,其他没有讲到的方法请大家自行查阅素材文件内的说明和示例.
  这部分的用法很简单,你只需要知道自己现在正在操作的是什么数据类型,知道了数据类型之后要知道mt为该类型数据的操作都提供了哪些可供我们使用的方法即可,如果你不能确认自己现在操作的是什么类型的数据,你只需要这样一句就能知道了.

  1. alert(typeOf(???));

String:

  1. //from 把传入的参数转为字符串,如:
    String.from(2);//returns '2'
    String.from(true);//returns 'true'
  2.  
  3. //uniqueID 产生一个独一无二的ID
    alert(String.uniqueID())
  4.  
  5. //trim 清除字符串两端的空白字符串
    alert(' i like cookies '.trim())
  6.  
  7. //toInt 将字符串转为数字,并以给出的基准进制进行转换
    alert('4em'.toInt());//returns 4
    '10px'.toInt();//returns 10
  8.  
  9. //toFloat 将字符串转为浮点数
    alert('95.25%'.toFloat());//returns 95.25
    '10.848'.toFloat();//returns 10.848
  10.  
  11. //toLowerCase/toUpperCase大小写转换
    alert('AA'.toLowerCase())
  12.  
  13. //test 使用正则表达式对字符串进行匹配测试
    alert('I like cookies'.test('COOKIE','i'));忽略大小写检查字符串内是否包含指定的子字符串
  14.  
  15. //escapeRegExp 将字符串中对正则表达式敏感的字符进行转义
    alert('animals.sheep[1]'.escapeRegExp());//returns 'animals\.sheep\[1\]'
  16.  
  17. //substitute 类似模板中的标签替换
    var my1='{a}|{b}|{b_2}.';
    var my2 ={a:'这是标签a,',b:'这是标签b',b_2:'这个呢?'};
    my1.substitute(my2);

上边这9个方法是我认为在操作String类型的数据时比较常用的方法,大家可以认真看一下每一个的用途及例子.相信并不难理解.

Number:

  1. //from 把传入的参数转为Number
    alert(Number.from('12')); //returns 12
    Number.from('hello') //returns null
  2.  
  3. //random 返回一个随机数
    Number.random(5,20);//returns a random number between 5 and 20.
  4.  
  5. //round 四舍五入
    (12.45).round() //returns 12
    (12.45).round(1) //returns 12.5
    (12.45).round(-1) //returns 10
  6.  
  7. //toInt 将数字转为数字,并以给出的基准进制进行转换
    (111).toInt();//returns 111
    (111.1).toInt();//returns 111
    (111).toInt(2);//returns 7
  8.  
  9. //toFloat 将数字转为浮点数
    (111).toFloat();//returns 111
    (111.1).toFloat();//returns 111.1
  10.  
  11. //常用数学方法
    /* abs
    acos
    asin
    atan2
    ceil
    cos
    exp
    floor
    log
    max
    min
    pow
    sin
    sqrt
    tan
    */
    (-1).abs();//returns 1
    (3).pow(4);//returns 81

Array:

  1. //常见的Array格式
    var arr=[1,2,3,4];
    var arr=new Array(1,2,3,4);
  2.  
  3. //Array.each 循环遍历数组
    var arr=['Sun','Mon','Tue'];
    Array.each(arr,function(day,index){
      alert('name:'+day+',index:'+index);
    });
  4.  
  5. //every 如果数组中的每一项都通过了给定函数的测试,则返回true
    var arr=[10,4,25,100];
    var areAllBigEnough=arr.every(function(item,index){
      return item > 20;
    });
  6.  
  7. //clean 在现有数组的基础上建立一个新数组,每一个成员必须是已经定义过的,IE浏览器则必须是非null和非undefined的
    var myArray=[null,1,0,true,false,'foo',undefined,''];
    myArray.clean() //returns [1,0,true,false,'foo',''];//false也是合法的,因为他也是已经定义过的
  8.  
  9. //indexOf 返回数组中和给出参数值相等的项的索引号;如果未找到相等的项,则返回-1
    ['apple','lemon','banana'].indexOf('lemon');//returns 1
    ['apple','lemon'].indexOf('banana');//returns -1
  10.  
  11. //map 调用外部函数循环处理现有数组内的每个项目,并产生新数组
    var timesTwo=[1,2,3].map(function(item,index){
      return item * 2;
    });//timesTwo=[2,4,6];
  12.  
  13. //some 如果数组中至少有一个项通过了给出的函数的测试,则返回true
    var isAnyBigEnough=[10,4,25,100].some(function(item,index){
      return item > 20;
    });//isAnyBigEnough=true
  14.  
  15. //flatten 把多维数组转换为一维数组
    var myArray=[1,2,3,[4,5,[6,7]],[[[8]]]];
    var newArray=myArray.flatten();//newArray is [1,2,3,4,5,6,7,8]
  16.  
  17. //empty 清空数组
    var myArray=['old','data'];
    myArray.empty();//myArray is now []
  18.  
  19. //erase 从数组内移除一个项目
    ['Cow','Pig','Dog','Cat','Dog'].erase('Dog') //returns ['Cow','Pig','Cat']
    ['Cow','Pig','Dog'].erase('Cat') //returns ['Cow','Pig','Dog']
  20.  
  21. //getRandom 从数组内随机提取键值
    ['Cow','Pig','Dog','Cat'].getRandom();//returns one of the items
  22.  
  23. //append 合并数组,新数组追加到末尾
    var myOtherArray=['green','yellow'];
    ['red','blue'].append(myOtherArray);//returns ['red','blue','green','yellow'];
    myOtheArray;//is now ['red','blue','green','yellow'];
    [0,1,2].append([3,[4]]);//[0,1,2,3,[4]]
  24.  
  25. //contains 测试指定项是否在数组中存在
    ['a','b','c'].contains('a');//returns true
    ['a','b','c'].contains('d');//returns false

Object:

  1. //常见的Object格式
    var O={a:0,b:1};
  2.  
  3. //each 遍历
    var O={first:'Sunday',second:'Monday',third:'Tuesday'};
    Object.each(O,function(value,key){
      alert('The '+key+' day of the week is '+value);
    });
  4.  
  5. //merge 合并一组Obj生成新Obj
    var obj1 ={a:0,b:1};
    var obj2 ={c:2,d:3};
    var obj3 ={a:4,d:5};
    var merged=Object.merge(obj1,obj2,obj3);//returns{a:4,b:1,c:2,d:5},(obj2,and obj3 are unaltered)
    merged === obj1;//true,obj1 gets altered and returned as merged object
    var nestedObj1 ={a:{b:1,c:1}};
    var nestedObj2 ={a:{b:2}};
    var nested=Object.merge(nestedObj1,nestedObj2);//returns:{a:{b:2,c:1}}
  6.  
  7. //append 合并Obj,追加到尾部
    var firstObj ={
    name:'John',
    lastName:'Doe'
    };
    var secondObj ={
    age:'20',
    sex:'male',
    lastName:'Dorian'
    };
    Object.append(firstObj,secondObj);
    //firstObj is now:{name:'John',lastName:'Dorian',age:'20',sex:'male'};
  8.  
  9. //subset 从Obj内获取子集
    var object ={
    a:'one',
    b:'two',
    c:'three'
    };
    Object.subset(object,['a','c']);//returns{a:'one',c:'three'}
  10.  
  11. //map 调用外部函数循环处理现有Obj内的每个项目,并产生新Obj
    var myObject ={a:1,b:2,c:3};
    var timesTwo=Object.map(myObject,function(value,key){
    return value * 2;
    });//timesTwo now holds an object containing:{a:2,b:4,c:6};
  12.  
  13. //keys 返回Obj内所有的key成为一个数组
    var myObject ={e:10,b:4,c:25,d:100};
    var keys=Object.keys(myObject);
    alert(keys)
  14.  
  15. //values 返回Obj内所有的value成为一个数组
    var myObject ={e:10,b:4,c:25,d:100};
    var keys=Object.values(myObject);
    alert(keys)
  16.  
  17. //getLength 返回Obj的元素个数
    var myObject ={
    name:'John',
    lastName:'Doe'
    });
    Object.getLength(myObject);//returns 2
  18.  
  19. //keyOf 根据value查询Obj内的key的名称;如果未找到相等的项,则返回false
    var myObject ={a:'one',b:'two',c:3};
    Object.keyOf(myObject,'two');//returns 'b'
    Object.keyOf(myObject,3);//returns 'c'
    Object.keyOf(myObject,'four');//returns false
  20.  
  21. //contains 测试Obj内是否存在某个值
    var myObject ={a:'one',b:'two',c:'three'};
    Object.contains(myObject,'one');//returns true
    Object.contains(myObject,'four');//returns false
  22.  
  23. //toQueryString 把Obj内的项目转换为Url地址,然后URIencode
    Object.toQueryString({apple:'red',lemon:'yellow'});//returns 'apple=red&lemon=yellow'
    Object.toQueryString({apple:'红色',lemon:'yellow'});//apple=%E7%BA%A2%E8%89%B2&lemon=yellow
    Object.toQueryString({apple:'red',lemon:'yellow'},'fruits');//returns 'fruits[apple]=red&fruits[lemon]=yellow'

JSON:

  1. //常见的Json格式
    var J={"_5":"停","_4":"W\\i","_3":"麥\/克"};
  2.  
  3. //encode 把Obj或数组转为Json
    var fruitsJSON=JSON.encode({apple:'red',lemon:'yellow'});//returns:'{"apple":"red","lemon":"yellow"}'
  4.  
  5. //decode 把一个Json转为Obj
    var myObject=JSON.decode('{"apple":"red","lemon":"yellow"}');//returns:{apple:'red',lemon:'yellow'}

Cookie:

  1. //write 写入
    var myCookie=Cookie.write('username','JackBauer');
  2.  
  3. //有效期为1天:
    var myCookie=Cookie.write('username','JackBauer',{duration:1});
  4.  
  5. //read 读取
    Cookie.read('username');
  6.  
  7. //dispose 销毁一个cookie
    Cookie.dispose('username');//Bye-bye JackBauer!
  8.  
  9. //最好的写法
    var myCookie=Cookie.write('username','JackBauer',{duration:1,domain:'mootools.net'});
    if(Cookie.read('username') == 'JackBauer'){myCookie.dispose();}

这一课的内容颇多,请大家多练习.

一周学会Mootools 1.4中文教程:(4)类型的更多相关文章

  1. 一周学会Mootools 1.4中文教程:(7)汇总收尾

    转眼之间已经第七课了,这也将成为最后一课,如果这7课下来您感觉水平没有达到预想的水平,没关系您可以继续关注本站的博文,我会陆续发一些类似的文章帮您提升水平,另外我最近打算和群里的几个Mootools爱 ...

  2. 一周学会Mootools 1.4中文教程:序论

    刚才发了几篇Mootools(以后直接简称Moo或Mt,看到这两个名字的时候不要感到奇怪),有一位热心的朋友"追杀"告诉我说现在已经出到1.4了,就不要再纠结于1.2了,想象一下有 ...

  3. 一周学会Mootools 1.4中文教程:(1)Dom选择器

    利器: 君欲善其事须先利其器,好吧因为我们的时间比较紧迫,只有六天而已,那么六天的时间用死记硬背的方式学会Mt犹如天方夜谭,因此我们需要借鉴一下Editplus的素材栏帮我们记忆就好了,当我们需要用到 ...

  4. 一周学会Mootools 1.4中文教程:(6)动画

    先看一下动画的参数设置: 参数: fps - (number:默认是50) 每秒的帧数. unit - (string:默认是 false) 单位,可为 'px','em',或 '%'. link - ...

  5. 一周学会Mootools 1.4中文教程:(5)Ajax

    ajax在我们前台的开发中是非常重要的,所以我们单独拿出一节课来讲述,首先我们看一下mootools的ajax构成 语法: var myRequest=new Request([参数]); 参数: u ...

  6. 一周学会Mootools 1.4中文教程:(3)事件

    今天我們講解一下mt的事件部分,对于事件的讲解主要包含三部分,分别是:绑定,移除,和触发,我们首先来看一个例子 //jquery的事件绑定方式$('a').click(function){ alert ...

  7. 一周学会Mootools 1.4中文教程:(2)函数

    温故: 透过对上一节课的学习,相信大家对mt的选择器应该有了一定的认识了,我再放几个小示例让大家对选择器的复杂应用有所了解: <!DOCTYPE html PUBLIC "-//W3C ...

  8. 一周学会go语言并应用 by王奇疏

    <一周学会go语言并应用> by王奇疏 ( 欢迎加入go语言群: 218160862 , 群内有实践) 点击加入 零.安装go语言,配置环境及IDE 这部分内容不多,请参考我的这篇安装环境 ...

  9. webstorm的中文教程和技巧分享

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享.webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu.c ...

随机推荐

  1. OC中对象元素的引用计数 自动释放池的相关概念

    OC中数组对象在是如何处理对象元素的引用计数问题的,同时介绍一下自动释放池的相关概念 一.数组对象是如何处理对象元素的引用计数问题[objc]  view plaincopy 1. //   2. / ...

  2. linux安装桌面软件

    CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境.在服务器上通常不需要安装桌面环境,最小化地安装 CentOS(也就是 minimal CentO ...

  3. wdcp升级php和mysql

    安装没什么好说的,按照wdcp官方去搞就行了,这里如果是centos系统建议使用rpm安装方式附件如下(这里包含了本文后面用到的三个文件) http://download.csdn.net/detai ...

  4. Highcharts使用手册

    chart: { type: 'area', ignoreHiddenSeries: false, //如果true,一旦一个系列被隐藏,轴将会扩展剩余的可见系列 }, 这是设置的两个纵坐标轴: yA ...

  5. Zend Studio错误总结

    1.在升级了wampserver之后,用zendstudio发现很多地方都出错了,这时候一般先要project-clean一下,然后到run 和 debug的configuration里面把除了stu ...

  6. 【转】MUD教程--巫师入门教程1

    <新巫师入门手册> 第一章:观念篇■ 内容提要:什么是巫师?怎样做一个巫师?如何做好一个巫师? 第二章:上手篇■ 内容提要:最简单的房间怎么写?NPC又怎么写?先看懂一些常用的参数? 第三 ...

  7. [LeetCode]题解(python):155-Min Stack

    题目来源: https://leetcode.com/problems/min-stack/ 题意分析: 实现一个小的栈,包括初始化,push,pop,top,和getMin. 题目思路: 私用是用两 ...

  8. cocos2d-x -------之笔记篇 环境的安装

    cocos2d-x -------之笔记篇 环境的安装 使用到的工具有VS2010  cygwin android-NDK eclipse android SDK 1.首先是android相关环境的安 ...

  9. AutoIt 函数学习之----Send函数

    Send: 作用:向激活窗口发送模拟键击操作. 语法: send('按键'[,标志]) 参数: 按键:要发送的按键序列. 标志:[可选参数] 更改程序处理“按键”的方式:  标志 = 0 (默认),按 ...

  10. java.util.zip.GZIPInputStream.readUByte,Not in GZIP format错误处理

    问题一: 使用webclient抓取网页时报错:(GZIPInputStream.java:207) atjava.util.zip.GZIPInputStream.readUShort(GZIPIn ...