美文网首页
变量及强制类型转换

变量及强制类型转换

作者: 向着远方奔跑 | 来源:发表于2019-06-12 08:28 被阅读0次
  • 在变量中加入字符串进行拼接,可以被同化为字符串
    举例1:
    var a = "1";
    var b = 2;
    console.log(a + b);

控制台输出:
12
举例2:

    var a = 1;
    var b = 2;
    console.log("a" + b);   //"a"就不是变量了!所以就是"a"+2 输出a2

控制台输出:
a2

  • - 、* 、/ 、%这几个符号会自动进行隐式转换
    例如:
    var a = "4" + 3 - 6;
    console.log(a);

输出结果:
37(43-6)

  • null 和 undefined
    任何数据类型和undefined运算都是NaN(not a number);
    任何值和null运算,null可看做0运算。
  • prompt()就是专门用来弹出能够让用户输入的对话框。重要的是:用户不管输入什么,都是字符串。

数据类型转换

转为字符串类型

  • 变量+"";
  • 调用toString()方法;
  • 使用String()函数。(String(变量))

转为数字类型

使用Number()函数
string 转 number

1、如果字符串中是纯数字,则直接转为数字;
2、如果字符串中有非数字内容,则转为 NaN;
3、如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。

Boolean 转 number
  • true 转为 1
  • false 转为 0
null 转 number
  • 结果为 0
undefined 转 number
  • 结果为 NaN
parseInt():字符串 -> 整数【重要】

parseInt()是专门用来对付字符串的。

parseInt()的作用是将字符串中的有效的整数内容转为数字
例如:

parseInt("5"); //输出结果为数字 5

parseInt 具有以下特性:

  • 只保留字符串最开头的数字,后面的中文自动消失
console.log(parseInt("2017在公众号上写了6篇文章"));  //打印结果:2017

console.log(parseInt("2017.01在公众号上写了6篇文章"));  //打印结果仍是:2017   (说明只会取整数)

console.log(parseInt("aaa2017.01在公众号上写了6篇文章"));  //打印结果:NaN
  • 自动带有截断小数的功能:取整,不四舍五入。
var a = parseInt(5.8) + parseInt(4.7);
console.log(a);    //结果为 9
var a = parseInt(5.8 + 4.7);
console.log(a);   //结果为 10
  • 如果对非String使用parseInt()或parseFloat(),它会先将其转换为String然后再操作。
var a = true;
console.log(parseInt(a));  //打印结果:NaN (因为是先将a转为字符串"true",然后然后再操作)

var b = null;
console.log(parseInt(b));  //打印结果:NaN  (因为是先将b转为字符串"null",然后然后再操作)

var c = undefined;
console.log(parseInt(c));  //打印结果:NaN  (因为是先将b转为字符串"undefined",然后然后再操作)

var d = 168.23;
console.log(parseInt(d));  //打印结果:168  (因为是先将c转为字符串"168.23",然后然后再操作)

转为 Boolean

将其他的数据类型转换为Boolean,可以使用Boolean()函数。

  • 数字 --> 布尔。除了0和NaN,其余的都是true。

  • 字符串 ---> 布尔。除了空串,其余的都是true。

  • null和undefined都会转换为false。

  • 对象也会转换为true。

其他进制的数字转换

-16进制的数字,以0x开头

  • 8进制的数字,以0开头

  • 2进制的数字,0b开头(不是所有的浏览器都支持:chrome和火狐支持,IE不支持)

比如070这个字符串,如果我调用parseInt()转成数字时,有些浏览器会当成8进制解析,有些会当成10进制解析。

所以,比较建议的做法是:可以在parseInt()中传递第二个参数,来指定数字的进制。例如:

a = "070";
a = parseInt(a,10); //转换成十进制

相关文章

  • 变量及强制类型转换

    在变量中加入字符串进行拼接,可以被同化为字符串举例1: 控制台输出:12举例2: 控制台输出:a2 - 、* 、/...

  • 3.12 PHP数据类型之间的转换和检测

    数据类型的转换有2种方式,强制转换和自动转换。 强制转换: 用setType(变量,"类型");,它是用来将变量直...

  • 》》》PHP初入---(二)

    数据转换 数据类型转换为逻辑的规则:强制转换:settype(变量,类型)--将变量转换为指定的类型隐式转换:根据...

  • 变量

    变量的分类——按数据类型分 各类型变量的注意点: 自动类型转换: 强制类类型转换: String类型:

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

  • Unity3D(6)—Convert转换

    Convert类型转换的概念: 两个变量的类型如果相兼容,可以使用自动类型转换或者强制类型转换。如果两个变量的类型...

  • JavaScript散乱(一)

    变量和计算 js中使用typeof能得到哪些类型? 强制类型转换 可能引起强制类型转换的操作 字符串拼接 ==运算...

  • javascript 字符串操作

    一、typeof类型 二、变量计算-强制类型转换 内置函数

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

  • .Net基础03

    主要内容 类型转换 1、类型如果相兼容的两个变量,可以使用自动类型转换或者强制类型转换,2、如果两个类型的变量不兼...

网友评论

      本文标题:变量及强制类型转换

      本文链接:https://www.haomeiwen.com/subject/qabqfctx.html