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

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

alert(typeOf(???));

String:

//from 把传入的参数转为字符串,如:String.from(2);//returns '2'String.from(true);//returns 'true'

//uniqueID 产生一个独一无二的IDalert(String.uniqueID())

//trim 清除字符串两端的空白字符串alert('    i like cookies     '.trim())

//toInt 将字符串转为数字,并以给出的基准进制进行转换alert('4em'.toInt());//returns 4'10px'.toInt();//returns 10

//toFloat 将字符串转为浮点数alert('95.25%'.toFloat());//returns 95.25'10.848'.toFloat();//returns 10.848

//toLowerCase/toUpperCase大小写转换alert('AA'.toLowerCase())

//test 使用正则表达式对字符串进行匹配测试alert('I like cookies'.test('COOKIE','i'));忽略大小写检查字符串内是否包含指定的子字符串

//escapeRegExp 将字符串中对正则表达式敏感的字符进行转义alert('animals.sheep[1]'.escapeRegExp());//returns 'animals\.sheep\[1\]'

//substitute 类似模板中的标签替换var my1='{a}|{b}|{b_2}.';var my2 ={a:'这是标签a,',b:'这是标签b',b_2:'这个呢?'};my1.substitute(my2);

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

Number:

//from 把传入的参数转为Numberalert(Number.from('12'));       //returns 12Number.from('hello')    //returns null

//random 返回一个随机数Number.random(5,20);//returns a random number between 5 and 20.

//round 四舍五入(12.45).round()   //returns 12(12.45).round(1)  //returns 12.5(12.45).round(-1) //returns 10

//toInt 将数字转为数字,并以给出的基准进制进行转换(111).toInt();//returns 111(111.1).toInt();//returns 111(111).toInt(2);//returns 7

//toFloat 将数字转为浮点数(111).toFloat();//returns 111(111.1).toFloat();//returns 111.1

//常用数学方法/* 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:

//常见的Array格式var arr=[1,2,3,4];var arr=new Array(1,2,3,4);

//Array.each 循环遍历数组var arr=['Sun','Mon','Tue'];Array.each(arr,function(day,index){  alert('name:'+day+',index:'+index);});

//every 如果数组中的每一项都通过了给定函数的测试,则返回truevar arr=[10,4,25,100];var areAllBigEnough=arr.every(function(item,index){  return item > 20;});

//clean 在现有数组的基础上建立一个新数组,每一个成员必须是已经定义过的,IE浏览器则必须是非null和非undefined的var myArray=[null,1,0,true,false,'foo',undefined,''];myArray.clean() //returns [1,0,true,false,'foo',''];//false也是合法的,因为他也是已经定义过的

//indexOf 返回数组中和给出参数值相等的项的索引号;如果未找到相等的项,则返回-1['apple','lemon','banana'].indexOf('lemon');//returns 1['apple','lemon'].indexOf('banana');//returns -1

//map 调用外部函数循环处理现有数组内的每个项目,并产生新数组var timesTwo=[1,2,3].map(function(item,index){  return item * 2;});//timesTwo=[2,4,6];

//some 如果数组中至少有一个项通过了给出的函数的测试,则返回truevar isAnyBigEnough=[10,4,25,100].some(function(item,index){  return item > 20;});//isAnyBigEnough=true

//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]

//empty 清空数组var myArray=['old','data'];myArray.empty();//myArray is now []

//erase 从数组内移除一个项目['Cow','Pig','Dog','Cat','Dog'].erase('Dog') //returns ['Cow','Pig','Cat']['Cow','Pig','Dog'].erase('Cat') //returns ['Cow','Pig','Dog']

//getRandom 从数组内随机提取键值['Cow','Pig','Dog','Cat'].getRandom();//returns one of the items

//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]]

//contains 测试指定项是否在数组中存在['a','b','c'].contains('a');//returns true['a','b','c'].contains('d');//returns false

Object:

//常见的Object格式var O={a:0,b:1};

//each 遍历var O={first:'Sunday',second:'Monday',third:'Tuesday'};Object.each(O,function(value,key){  alert('The '+key+' day of the week is '+value);});

//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}}

//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'};

//subset 从Obj内获取子集    var object ={        a:'one',        b:'two',        c:'three'    };    Object.subset(object,['a','c']);//returns{a:'one',c:'three'}

//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};

//keys 返回Obj内所有的key成为一个数组    var myObject ={e:10,b:4,c:25,d:100};    var keys=Object.keys(myObject);    alert(keys)

//values 返回Obj内所有的value成为一个数组    var myObject ={e:10,b:4,c:25,d:100};    var keys=Object.values(myObject);    alert(keys)

//getLength 返回Obj的元素个数    var myObject ={        name:'John',        lastName:'Doe'    });    Object.getLength(myObject);//returns 2

//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

//contains 测试Obj内是否存在某个值    var myObject ={a:'one',b:'two',c:'three'};    Object.contains(myObject,'one');//returns true    Object.contains(myObject,'four');//returns false

//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:

//常见的Json格式var J={"_5":"停","_4":"W\\i","_3":"麥\/克"};

//encode 把Obj或数组转为Jsonvar fruitsJSON=JSON.encode({apple:'red',lemon:'yellow'});//returns:'{"apple":"red","lemon":"yellow"}'

//decode 把一个Json转为Objvar myObject=JSON.decode('{"apple":"red","lemon":"yellow"}');//returns:{apple:'red',lemon:'yellow'}

Cookie:

//write 写入    var myCookie=Cookie.write('username','JackBauer');

    //有效期为1天:    var myCookie=Cookie.write('username','JackBauer',{duration:1});

//read 读取    Cookie.read('username');

//dispose 销毁一个cookie    Cookie.dispose('username');//Bye-bye JackBauer!

    //最好的写法    var myCookie=Cookie.write('username','JackBauer',{duration:1,domain:'mootools.net'});    if(Cookie.read('username') == 'JackBauer'){myCookie.dispose();}

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

转载于:https://www.cnblogs.com/GaoAnLee/p/5368791.html

一周学会Mootools 1.4中文教程:(4)类型相关推荐

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

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

  2. 近找到了一个免费的python教程,两周学会了python开发【内附学习视频】

    原文作者:佛山小程序员 原文链接:https://blog.csdn.net/weixin_44192923/article/details/86515984 最近找到了一个免费的python教程,两 ...

  3. 最近找到了一个免费的python教程,两周学会了python开发

    最近找到了一个免费的python教程,两周学会了python开发 最近找到了一个免费的python教程,两周学会了python开发.推荐给大家,希望召集更多的朋友一起学习python. 最近开始整理p ...

  4. 最近找到了一个免费的python教程,两周学会了python开发【内附学习视频】

    最近找到了一个免费的python教程,两周学会了python开发.推荐给大家,希望召集更多的朋友一起学习python. 小编有一个群78486745(点击进群):里面有很多python爱好者讨论学习, ...

  5. linkbot 中文教程系列 linkbot破解教程

    linkbot 中文教程系列 一.Linkbot 的作用: Linkbot是一款网站页面链接测试工具,测试每一个链接是否都有对应的页面:页面之间切换是否正确:是否存在空链接:网页图片是否存在:检查 h ...

  6. PeerSim中文教程(1)

    PeerSim中文教程(1):解析 Cycle-based 模式仿真 本文介绍了PeerSim的基本概念,并解析了两个示例以更清晰地说明PeeSim的仿真流程. Peersim支持两种仿真模式,即Cy ...

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

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

  8. Angularjs中文教程

    Angularjs中文教程 http://docs.ngnice.com/guide posted on 2015-05-11 09:36 资江河畔 阅读(...) 评论(...) 编辑 收藏 转载于 ...

  9. 全网首发 | 第一个opencv_contrib扩展模块中文教程限时领取

    点击上方"小白学视觉",选择"星标"公众号 重磅干货,第一时间送达 OpenCV是学习计算机视觉的重要工具之一,然而多年以来,在深度学习的deBuff下,Ope ...

最新文章

  1. mysql 性能查看_MySQL查询性能问题排查
  2. python开发bs系统_基于BS架构的招聘管理系统的开发
  3. Selenium常用API的使用java语言之13-多表单切换
  4. 【ArcGIS风暴】ArcGIS 10.8中计算体积的方法总结
  5. 为什么Java在后来的版本中,给接口增加了默认方法、静态方法、私有方法?
  6. 干货| GitHub高赞精选Jupyter资源列表!
  7. String类型直接赋值与构造赋值
  8. MySQL备份shell_shell---mysql备份
  9. 永磁同步电机MTPA最大转矩电流比控制仿真(公式法)
  10. Navivat 中快速快捷查找表和数据
  11. 企业地图定位,其实这是免费的!
  12. Tikhonov正则化方法在测绘领域的综述
  13. 打开Chrome浏览器显示“喔唷 崩溃啦”错误的解决方法
  14. 多目标跟踪评价指标总结——MOTA、IDF1、HOTA等
  15. 【arduino】常用芯片ATMEGA328P-AU 32TQFP资料详解
  16. Android要ios王者,王者荣耀怎么转区 安卓转苹果需要什么要求
  17. ROS 罗技手柄控制机器人(仿真和实体机器人)
  18. 老人上网_一些老人的国家
  19. 敢问路在何方 路在脚下
  20. HDOJnbsp;nbsp;2048nbsp;nbsp;nbsp;神、上帝以及老天爷

热门文章

  1. Web前端前景、最新技术、学习路线?
  2. 0基础入门前端,会遇到哪些困难?
  3. C11中gets()的函数被删除
  4. python循环一段代码_Python循环语句代码详解:while、for、break
  5. 如何搭建高性能视频网站
  6. Oracle完全手册,Oracle_11g+Oracle Sqldeveloper 安装完全手册(for win 7 64x)
  7. keil编译器如何生成二进制bin文件
  8. 优化器:torch.optim
  9. VS2008编辑器代码适合的配色方案下载
  10. RNN、GRU、LSTM