Code前端首页关于Code前端联系我们

Javascript 类型转换

terry 2年前 (2023-09-09) 阅读数 180 #Javascript

JavaScript 是一种松散类型语言,大多数情况下运算符会自动将值转换为适当的类型,但在某些情况下特别需要类型转换。

虽然 JavaScript 提供了多种将数据从一种类型转换为另一种类型的方法,但有两种最常见的数据转换:

将值转换为字符串

将值转换为数字

隐式转换

JavaScript 中有各种运算符和函数可以自动将值转换为适当的类型,例如 JavaScript 中的alert() 函数接受任何值并将其转换为字符串。但不同的运算符可能会导致问题,例如“+”运算符。

输入:“2”+“3”
输出:“23”
//本例中的+运算符表示字符串连接。
//但是隐式转换“3”到“1”给出了2个输出。 

此代码显示了 Javascript 中的隐式类型转换:

document.write('("3" - "1") = ' + ("3" - "1") + "
"); document.write('("3" - 1) = ' + ("3" - 1) + "
"); document.write('("3" * "2") = ' + ("3" * "2") + "
"); document.write('("3" % "2") = ' + ("3" % "2") + "
"); document.write('("3" + null) = ' + ("3" + null) + "
"); (“3”-“1”) = 2 (“3”- 1) = 2 (“3”*“2”)= 6 (“3”%“2”) = 1 ("3" + null) = 3null

将值转换为字符串:

您可以使用 JavaScript 的 String() 或 toString() 函数将值转换为字符串。

字符串语法

字符串(值)

示例:

 输入:
var v = 1555;vars = 字符串(v);
输出:
现在包含“1555”。

toString 语法

variableName.toString(base)

示例:

 输入:
var v = 1555;
var s = v.toString();
输出:
现在包含“1555”。

下面的代码将数字转换为字符串,布尔值转换为字符串,日期转换为字符串。

    
  // 编号和日期已分配
  // 对于变量 v 和 d
  var v = 123;
  var d = new Date('1995-12-17T03:24:00');
    
  //将数字转换为字符串
  document.write(" String(v) = " + String(v) + "
"); //将数字转换为字符串 document.write(" String(v + 11) = " + String(v + 11) + "
"); document.write(" String( 10 + 10) = " + String(10 + 10) + "
"); //将布尔值转换为字符串 document.write(" String(false) = " + String(false) + "
"); // 将日期转换为字符串 document.write(" String(d) = " + String(d) + "
");

输出:

字符串(v) = 123
字符串(v + 11) = 134
字符串(10 + 10) = 20
字符串(假)=假
String(d) = Sun 17 Dec 1995 03:24:00 GMT+0530(印度标准时间)

将值转换为数字

可以使用 JavaScript 的 Number() 函数将值转换为数字。您可以将任何数字文本和布尔值转换为数字。如果它是非数字字符串,则会将其转换为 NaN(不是数字)。
语法:

语法

数字(要转换的值)

示例:

 输入:
变量=“144”;
var n = 数字;
输出:
现在 n 包含 144(数字)。

下面的代码将数字文本、日期和布尔值转换为数字。

    
  // 编号和日期已分配
  // 对于变量 v 和 d
  var v =“144”;
  var d = new Date('1995-12-17T03:24:00');
    
  // 将字符串转换为数字
  document.write(" Number(v) = " + Number(v) + "
"); //将布尔值转换为数字 document.write(" Number(false) = " + Number(false) + "
"); document.write(" Number(true) = " + Number(true) + "
"); // 将日期转换为数字document.write(" 数字(d) = " + 数字(d) + "
");

输出以下结果:

数量(v) = 144
数字(假)= 0
数字(真实)= 1
号码 = 819150840000

如果字符串不是数字,则转换为 NaN,空格或空字符串转换为 0。

 // 分配空字符串
    var v = "";
      
    // 分配空白
    var d =“”;
      
    // 分配非数字字符串
    var s = "GeeksforGeeks";
      
    // 打印数字的转换后的值
    document.write(" Number(v) = " + Number(v) + "
"); document.write(" 数字(d) = " + 数字(d) + "
"); document.write(" 数字 = " + 数字 + "
");

输出以下结果:

数量(v) = 0
数量(d) = 0
数字 = NaN

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门