专栏首页web前端基地JavaScript第三节

JavaScript第三节

类型转换

为什么要进行类型转换???

服务器拿回来的数据,有可能是字符串,比如age='18', 
 var age = '18';
 console.log(age+1);

查看变量的类型

typeof关键字可以查看数据的类型

var num = 11;
console.log(typeof num);
num = "abc";
console.log(typeof num);

小技巧:在控制台可以根据颜色来判断数据的类型哦(__) **

转换成 数值 -number

  • 1 Number()
console.log(Number('55'));
Number()可以把任意值转换成数值类型,但是如果字符串中有不是数字的字符,返回NaN
  • 2 parseInt() 和 parseFloat()
- parseInt()  把整数或者小数都转化为整数;
- parseFloat() 把整数转化整数,把小数转化为小数
var num1 = parseInt("12");  // 12
var num1 = parseInt("12.3"); //12
var num1 = parseFloat("12"); //12
var num1 = parseFloat("12.3");//12.3

var num1 = parseInt("12.3abc");  // 返回12,如果第一个字符是数字会解析知道遇到非数字结束
var num2 = parseInt("abc123");   // 返回NaN,如果第一个字符不是数字或者符号就返回NaN


  • 3 算术运算 (最常用)
var str = '500';
console.log(+str);		// 取正
console.log(-str);		// 取负
console.log(str - 0);  +0呢???拼接

转换成 字符串类型 - string

  • 1. String ( )
var num = 5;
num = String(num);
console.log(num);
  • 2. toString ( )
var num = 5;
console.log(num.toString());// 把数值5变成字符串5
//将来所有的数据都会有toString()方法,除了null和undefined
  • 3. 拼串,(最常用)
var num = 5;
num = num + "";
console.log(num);

转换成布尔类型

所有的值都可以转换成布尔类型

其中 0, "", undefinednullNaN,这几个值会转换成false,其他值都会转换成true

这个代表的五大基本类型

// 没有值 => false
// 有值 => true
// number string undefined null
//  0      ''

注意 : 
   1. 'false' 它是字符串
   2.  NaN  => false
  • Boolean()
console.log(Boolean(1));
console.log(Boolean(0));
  • !!
var a = "abc";
console.log(!!a);

NaN

NaN: not a number, 表示一个非数字

在js中,NaN用来表示一个非数字的特殊值,当发现无法进行运算时,js不会报错,而是会返回一个NaN

NaN的注意事项:

  • NaN的类型是number类型的,表示一个非数字
  • NaN不等于任何值,包括NaN本身
  • 通过isNaN()可以判断是否是一个数字,返回false的时候,表示是一个数字。
var num = +'abc'
 console.log(num);  //NAN

// 判断是不是文字
var a = 123;
var b = '123';
//  Nan 不是数字
// true 不是文字
// false 不是不是文字 = 是文字
console.log(isNaN(c));

本文分享自微信公众号 - web前端基地(webjidi),作者:一客web

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JavaScript第六节

    数组:是有序的元素集合 ,数组用于存放一组有序的数据,比如一个班级所有人的名字,一个班级所有人的成绩。

    用户3461357
  • JavaScript第一节

    在javascript中表示一个数字,除了有我们常用的十进制11, 22,33等,还可以使用八进制、十六进制表示等。

    用户3461357
  • MongoDB数据库基本操作

    用户3461357
  • ES6系列_9之对象

    有时候我们会在后台取出key值,而不是我们前台定义好的,这时候我们可以我们可以把后台定义的key值重新构建返回给后台。

    wfaceboss
  • 分享一道有十分有意思的JS面试题,附愚人节逻辑题答案

    前段时间,有一学生问了我一道十分有意思的JS面试题,现拿出来与大家进行下分享,题目如下:

    用户1272076
  • JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)

    JavaScript是一种解释执行的脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,它遵循ECMAScript标准。它的解释器被称为JavaSc...

    张果
  • JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)

    一、JavaScript简介 JavaScript是一种解释执行的脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,它遵循ECMAScript标准...

    张果
  • 数组

    河湾欢儿
  • js中的函数声明你真的会了吗???

    2、只有在function内部新声明的才是局部变量,在if,while,for等声明的变量其实是全局变量(除非本身在function内部)

    李才哥
  • JavaScript第一节

    在javascript中表示一个数字,除了有我们常用的十进制11, 22,33等,还可以使用八进制、十六进制表示等。

    用户3461357

扫码关注云+社区

领取腾讯云代金券