00:00
OK,那么欢迎大家,我呢是风雨,那我们这节课呢,来讲我们这个数值的扩展,那么这个数值的扩展呢,其实啊内容不是很多,那首先第一个呢,大不算扩展了,就是做了一点小小的修改,对吧?那在ES5里边呢,我们比如说判断一个一个数字是否是na的时候呢,我们有一个is n na的这么一个方法,对吧?同样的要判断一个数字是否是一个一个infinite的时候呢,我们也有一个infinite的这么一个方法,那么在ES6里面呢,它把这两个方法呢,给它移植到了number对象,Number呢是我们数字的这个。构造函数来构造函数,把它移植到了这个构造函数的对象,这个对象下面来啊,移植对象下面,那这样做什么有什么目的呢?有什么好处呢?好处就在于减少了我们全局的这种方法。对不对,诶全减少全局方法,因为我们原来的is na它就是个全局的对吧,它是在number下面的,它是在在这个window下面的,那这时候如果说我们扩展的方法,全局方法多的时候呢,这个number下面呢,就是比较的混乱啊,比较的混乱,那这个时候呢,ES论它就对这些东西做出了一点小小的调整,那就是把我们这种啊方法移植到了对应的构展函数上面去了,比如说你字符串呢,可能说移植到你这个string啊,数值的移植到了number啊,还有一些比如说。
01:30
像这个波尔之塔啊,可能说跟你移植到这个be啊等等就构造行下面去了,那我们呢,也就稍稍的来看一下这两个方法啊,一个呢叫做number。点上这个is fity,那这个F呢,它是个大写的Fi括号is fity,还有呢,还有这个number,点上is na,用于判断我们一个数字是否是na。那那我们来看一下啊,那这个isinity呢,它判断的是一个数值是否为有限的,那inity呢,就是无限的对吧,无限的,所以呢,我们可以来输出一下,比如说打印一下number。
02:13
点射is Fi括号,那我们来判断一个,比如说呃,0.5。来保存出对返回个不错,告诉你这个东西是个有限的啊有限的那也就是说我们输入任意一个整数或者说浮点数的时候呢,它都是一个一个处啊没有什么问题,那如果说我输入一个false呢,呃是一个na呢。那这时候它是啥呢?我们来看一下啊,来保存false对吧,这个你都不是一个数字,如何能谈得上你是一个有限的一个数值呢,对不对,所以na也是返回这个false啊,然后要注意的是这个方法呢,它不会进行类型的转换,也就是说当我们使用字符串,比如说字符串一的时候,它不会把你的字符串转换为这个数字的形式啊,它不会转,那直接就是你字符串吧,那你数字都不是不管了,就是副词啊,直接反副词,所以同样的道理,不直处。
03:14
也不管啊,放也不管。明白吗?那这个呢,是这个infinity啊,那它还可以判断,它主要是用来判断我们这个infinity对吧?Infinity那么来保存一下,那这个呢,诶理所当然的返回的是个fo对吧?所以呢,要注意的是,它其实是用来确定一个数值是否为有限的啊,是否为有限的,那么这呢是第一个,那么同样的我们来看一下第二个。点上这个is na括号,那它呢是用来判断什么,就是用来判断我们一个数值,或者说一个值是否是na啊,它是用来判断是na的,所以呢,我传个na进去来保存。
04:00
处没问题,是A,你是一个na,没什么问题,那没问题,那么。如果说字符串呢,你还会不会转呢?我们来看一下,诶包起来变为个字符串,嗯,那这个理所当然是不可能的,对吧,那字符串一呢,保存也不会啊,他也不会转对吧?所以呢,他这个方法主要是用来确定我们的na的,能明白吗?哎,像这种类型不同的压根就不管,直接抛出false,那如果说我说是个有限的一个数值呢,诶还是false对吧,一个浮点数呢。还是false,明白吗?那可以哈,那么在紧接着比如说我输入一个,比如说unDeFined啊unDeFined OK来保存false没问题啊,没问题。那么在紧接着我们再来看一下,比如说我们再来看一下这个布尔直处。没问题对吧,诶你不是一个这个na对吧?诶你呢,就这个这边就给它抛出的是一个false啊false要注意点,有点特殊的就在于这个零除上零的时候,这个零除上零的时候呢,诶这个呢,它会抛出一个出啊,它会抛出一个出,那这个呢是需要记住的一点,那需要记住一点。
05:12
那么也就是说,呃,如果你不是数字,或者说你是一个有限的数字的时候,那它呢,基本上都是抛出的是一个false,要注意的是,我说的不是一个数字的时候,说的是类型啊,比如说字符串类型呢,那它抛出来是false,明白吗?那这个呢,说我们这个is na。那么再紧接着我们再来看一下,它还有两个方法啊,之前我们这个驱臣的时候呢,有使用这个pass以及pass float这么两个方法,那这样方法呢,同样的是全局的,之前的,那现在呢,也把它移植到了我们number下面去啊,叫做pass。Pass。是吧,诶还有一个number,点上这个pass p。
06:03
Pass,一个呢是会保留小数点是吧,一个呢是这个取整单对吧,取整单OK。那这两个方法的特性呢?啊,跟我们这个pass int以及passl float呢,其实是一样的啊,一样的,那只不过我们先来看一下ES5的写法吧,那在我们ES5里边,我们使用pass in的时候呢,诶,就直接使用全局的这个方法就可以了,比如说我们在里面写个字符串啊,这个1.2啊1.2,那这时候呢,它会返多少,它会返回一个一对不对,它不要小数点,它是个取整的对吧,把小数部分舍弃掉,只返回一个整数啊整数所以返回一,那它呢,把它类型转换为了一个数字对不对?那。我们来看一下这pass来。Float,那pass float啊,1.2后面我再加一些,比如说乱七八糟的符号,比如说PX来保存,你发现它返回了一个1.2是吧,可以保留一一位小数点,那保留小数点找到后面一个,一直到后面一个不是这个数字的这一位啊就截止了,那到P呢,就截止了,不管后面就不管了,就把返回了前面的1.2,那这两个呢,Parcel in和parcello,那这两个呢,同样的是全局的,就window的方法,那把这种全局的呢,都移植到了跟你这个呃,属性相关的这个。
07:24
构造函数下面去了,那比如说pass in呢,它跟数字相关的,那就移植到了number下面,所以以后我们在使用的时候呢,推荐大家使用这个number点上pass in啊,它的特性呢,跟pass in跟之前的其实基本没有什么区别啊,没什么区别,比如说像这个1.2PX呢,它一样的就是。返回一个1.2对吧,帕lo,那如果说这是帕特呢,那它返回的就是一个这个。这个这个一对吧,一因为他是。等啊。他是不接收我们的这个不认小数点的,对吧?诶取整的就是一啊一,那这个呢,是需要注意的一点啊,就是一点。
08:07
那这个呢,是我们这个number啊,用来转的,这么这这这四种方法啊,主要都是一些移植啊,没有什么好奇怪的啊,没什么好奇怪的,那么在紧接着呢,在我们这个数值的扩展上面呢,还新增了一个方法,这个方法呢叫做什么呢?叫number。点上is的。Integer。这傻瓜啊。这没有二啊这个方法,那这个方法用来干嘛呢?这个方法呢,它是用于确定一个值是否为整数,也就是说你不是整数,你是个浮点数的时候呢,诶,它就会返回一个false啊,如果说你是整数,OK,那么就返回出我们来看一下。哎,这里面我们来传一个,比如说传一个一。
09:00
保存two没问题啊,1.2false对吧,为什么呢?因为你是一个浮点数,它只用于确定是否整数,只有整数才会干嘛呀,才会这个返回出啊,要注意的是我们ES6里面的这些方法呢,基本上都不会再有这个类型转换的这么一个功能了,所以我写这个布尔直出的时候。或者说false的时候呢,它一样的对话返回false了啊,就不会再给你转为一或者说零了,这种情况了,它不会转了啊,这个是需要注意的呀,所以理所当然的这个比如说字符转一啊,这个呢,也是false对吧,因为不会进行类型转换啊,不会进行类型转换,那这个唯一要注意的一点就在于。在GS的这个内部呢,哎,这个整数和浮点数它的储存方法呢,其实是一样的啊,所以要注意的是,当你是1.2这种一个呃,正常的一个浮点数的时候,返回是false,但是如果说你写的是1.0的时候,那么这个时候呢,它会把1.0和一视为同一个值,所以1.0看起来像浮点数,但是呢,呃。
10:11
它由于储存内部的储存机制跟整数是一样的,所以他把你视为一了以后呢,返回的就是个处了啊,这个是需要注意的一点,那这个呢,就是我们这个呃,数值的这个扩展的方法,好吧,那谢谢大家。
我来说两句