js中 is_NaN()函数的使用

时间: 2019-03-14阅读: 34标签: 函数

isNaN() 函数用于检查其参数是否是非数字值。它是JavaScript提供的一个内置函数。 


语法 :

isNaN(x)


说明: 

 (1)isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。 

 (2)也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。 

 (3)如果 参数 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。而如果 x 是其他值,则返回 false。 

 (4)isNaN() 是全局函数,存在隐式的类型转换;

Number.isNaN(x)

ps: Number.isNaN() 方法确定传递的值是否为 NaN,并且它是 Number类型的。它是原始的全局isNaN()方法的更强大的版本。 

Number.isNaN() 方法的参数值必须是Number类型的才能进行判断(这是基础),否则返回的都是false。

实例

检查数字是否非法:

<script>
isNaN(123);
isNaN(-1.23);
isNaN(5-2);
isNaN(0);
isNaN("Hello");
isNaN("2005/12/12");
</script>

输出:

false
false
false
false
true
true


原理:

这个函数使用了Number() 去转换需要判断的值。Number() 去转换值,如果有任意非数值字符存在则就不是一个数值。转换能力不如parseInt和parseFloat 。 


Number() 转换规律小结论:

1 字符串   只有包裹的是存数字才可以转换

2 数组会先转string 再转数值  其中数值转字符串样式是这样的[1,2,3]=>'1,2,3'  因为有逗号所以转不了。[1]=>'1' 如果数组只有一个值,是可以转数字的.

3 对象来说也是先转字符串。但是任何对象,转成的字符串都相等。{name:'yk',age:12}=>"[object Object]"  ,明显继续转数值的时候不可能

4 布尔值,最简单,false转成数值0   true 转成 1.


JS ES6中的箭头函数(Arrow Functions)使用

ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器)。typeof运算符和普通的function一样,instanceof也返回true,表明也是Function的实例

Generator函数

Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历 Generator 函数内部的每一个状态。

es6 函数的扩展

我们都知道声明函数可以设置形参,但你有没有想过形参也可以直接设置默认值,我们接下来看看如何去写,rest 参数官方注解:ES6 引入 rest 参数(形式为...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。

JS 中构造函数和普通函数的区别

构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写、构造函数和普通函数的区别在于:调用方式不一样。作用也不一样(构造函数用来新建实例对象)

理解 JavaScript Mutation 突变和 PureFunction 纯函数

不可变性、纯函数、副作用,状态可变这些单词我们几乎每天都会见到,但我们几乎不知道他们是如何工作的,以及他们是什么,他们为软件开发带来了什么好处。在这篇文章中,我们将深入研究所有这些,以便真正了解它们是什么以及如何利用它们来提高我们的Web应用程序的性能。

JavaScript函数内部属性

函数内部有两个特殊对象,this、arguments,其中arguments是一个类数组对象,包含着传入函数中的所有参数,主要用来保存函数参数。arguments对象还有一个callee属性,callee是一个指针,指向拥有这个arguments对象的函数。

JavaScript 高阶函数快速入门

把函数以数据的形式去使用,并解锁一些强大的模式。接受和/或返回另外一个函数的函数被称为高阶函数。之所以是高阶,是因为它并非字符串、数字或布尔值,而是从更高层次来操作函数。

ES6新特性之箭头函数与function的区别

写法不同;在function中,this指向的是调用该函数的对象;而在箭头函数中,this永远指向定义函数的环境。箭头函数不可以当构造函数;function存在变量提升,可以定义在调用语句后;箭头函数以字面量形式赋值,是不存在变量提升的;

JS中的setTimeout()函数

setTimeout() 方法用于在指定的毫秒数后调用函数或执行表达式。返回一个 ID(数字),可以将这个ID传递给 clearTimeout() 来取消执行。第三个及之后的参数是setTimeout()函数的可选参数,是作为参数传给 setTimeout() 方法里面的匿名函数或者调用的函数

js中浏览器兼容startsWith 、endsWith 函数

在做js开发的时候用到了startsWith函数时,发现各个浏览器不兼容问题,因为对开发来说,chrome浏览器最好用,就一直在chrome浏览器中使用这两个函数没有任何问题,但在ie浏览器访问就直接报错,因为ie没有这两个函数,要么修改方法,换别的方法,但是一两个还好改,多了就不好改

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全