七天学会Mootools 1.4汉语教程:(四)类型

  Mootools的品类首要包涵下面几局地:String:字符串;Number:数字;Array:数组;Object:对象;Json:;Cookie:.

那也是我们后日的讲述重点.每一种数据类型Mt都为其增添了投机的法子,那或多或少经过本人为大家提供的艾德itplus素材文件就能看的出来,因为涉及的秘诀比较多,所以小编就选取几个常用的措施给大家讲解一下,其余未有讲到的不2法门请大家自行查阅资料文件内的辨证和示例.
  那部分的用法很简单,你只需求驾驭自身以后正在操作的是如何数据类型,知道了数据类型之后要了然mt为该类型数据的操作都提供了如何可供大家运用的格局即可,如若您不可能确认本人将来操作的是怎么样类型的数据,你只须求这么一句就能清楚了.

alert(typeOf(???));

 

String:

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

//uniqueID 产生一个独一无二的ID
alert(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);

上边那九个主意是自家以为在操作String类型的数据时相比较常用的不2秘籍,我们能够认真看一下每二个的用处及例子.相信并简单通晓.

Number:

//from 把传入的参数转为Number
alert(Number.from('12'));       //returns 12
Number.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 如果数组中的每一项都通过了给定函数的测试,则返回true
var 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 如果数组中至少有一个项通过了给出的函数的测试,则返回true
var 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或数组转为Json
var fruitsJSON=JSON.encode({apple:'red',lemon:'yellow'});//returns:'{"apple":"red","lemon":"yellow"}'

//decode 把一个Json转为Obj
var 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();}

那1课的内容颇多,请大家多练习.

连锁课程:
3日学会Mootools
①.4华语教程:序论

一周学会Mootools
一.肆普通话教程:(壹)Dom采取器

二十三日学会Mootools
壹.肆中文化教育程:(2)函数

一周学会Mootools
壹.4国语教程:(三)事件

二1日学会Mootools
一.四国语教程:(4)类型

1二17日学会Mootools
一.4华语教程:(5)Ajax

一周学会Mootools
1.四中文教程:(六)动画

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

别的关于Mootools 一.四的稿子:
自个儿写的Lightbox效果插件,基于MooTools
一.4

小编写的万年历插件(含奇门遁甲,阴历,农历,节气,各类节日等),基于MooTools
一.4

自小编写的切近本站首页左上角的菜谱的效果插件,基于MooTools
1.四

Mootools中delay那几个延迟函数的高等级用法
Mootools中动用bind给函数绑定对象
Mootools中使用extend和implement给您的函数扩充成效或艺术
和谐写个增加把Mootools的语法改的和Jquery的语法壹模壹样
Mootools壹.四中自定义事件
用Mootools一.四写了1个乘机鼠标移动而背景图也随之移动的东西

相关文章