【Day6】如何检查型别

前面提到「变数本身没有型别问题,变数带的值才有型别资讯」,所以要判断型别,当然是去检查变数所带的值。

我们可以这样来判断变数的型别:

  • typeof 资料
  • typeof(资料)
typeof '洪七公';  //'string'
typeof 7749;     //'number'
typeof NaN;      //'number'
typeof true      //'boolean'
typeof {};      //'object'
typeof [];      //'object'
typeof null;      //'object'

用typeof检查资料型别,回传的都是字串,如果是为宣告的变数则回传'undefined'。

如何判断型别是否为NaN?

比较特别的是:

typeof NaN;      //'number'

假设杨康这个小屁孩在应该填写数字的表单里面打了一堆乱码,回传给JavaScript判断,parseInt()之後会给我们NaN的结果,此时就不能使用(typeof(xx) ! == number)来判断,因为遇到 typeof NaN的回传值会是'number'。

※ parseInt()可以用来将资料转为整数,由字串最左边开始转换,一值转换到字串结束或遇到非数字字元为止。

这时要使用 isNaN() 来判断传回的资料是否为'NaN',如果不是,传回的是false,才进行後面的计算。

如何判断型别是否为阵列?

因为使用typeof去检查阵列,得到的结果会是 'object',所以该如何正确地判断某个变数为阵列,而非物件?

这时要使用 isArray() 这个方法。

array.isArray([]);   //true
array.isArray(['东邪','西毒','北丐','南帝','中神通']);   //true

array.isArray({});   //false

<<:  Day-5 现代电视游玩怀旧主机可接受的最低标准、最终方案 S 端子

>>:  [Angular] Day6. Sharing data between child and parent directives and components

虹语岚访仲夏夜-5(专业的小四篇)

有些事    不可跨越 像飞的太靠近太阳  而被融化的翅膀 又或像 艾尔文献出自己的心脏  而领便...

第4车厢-老师在说你有没有在听?浅谈CSS选择器及优先权

怎麽选取到元素改变网页原有外观呢?本篇主要整理CSS选取器分类及CSS优先权 切版学习途中,你是否...

Day 29 - WooCommerce: 接收虚拟帐号付款成功通知

今天铁人赛的倒数第一天了 ^^,要和大家分享的是,如何接收永丰银行丰收款金流平台收到顾客的银行转帐汇...

#13 Automation

自动化 (Automation) 指的是写出一个程序,让原本需要人工手动执行的多个步骤变成全部都由程...

那些被忽略但很好用的 Web API / CustomEvent

自己的事件自己决定。 网页最重要的两件事,资讯显示与使用者交互,而使用者交互在页面中所代表的行为就...