飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • AngularJS教程
  • UEditor使用文档
  • ThinkPHP5.0教程

JavaScript类型转换

时间:2021-11-24  作者:匿名  

类型转换

大多数情况下,运算符和函数会自动将赋予它们的值转换为正确的类型。

例如,alert自动将任何值转换为字符串以显示它。数学运算将值转换为数字。

在某些情况下,我们需要将值显式转换为预期类型。

数值转换规则:

undefined 变成 NaN

null 变成 0

true and false 变成 1 和 0

string 变成 开头和结尾的空格被删除。如果剩余的字符串为空,则结果为0。否则,该数字将从字符串中“读取”。一个错误给出NaN。

例子:

alert( Number("   123   ") ); // 123
alert( Number("123z") );      // NaN (error reading a number at "z")
alert( Number(true) );        // 1
alert( Number(false) );       // 0

请注意,null和undefined不同的表现这里:null变为零,而undefined成为NaN。

大多数数学运算符也执行这种转换,我们将在下一章中看到。

这里撇开对象不谈

在本章中,我们不会涉及对象。现在我们只讨论基元。

稍后,在我们了解了对象之后,在对象到基元转换一章中,我们将看到对象是如何适应的。

字符串转换

当我们需要一个值的字符串形式时,就会发生字符串转换。

例如,alert(value)它是否显示值。

我们还可以调用String(value)函数将值转换为字符串:

let value = true;
alert(typeof value); // boolean
value = String(value); // now value is a string "true"
alert(typeof value); // string

字符串转换最明显。Afalse变成"false",null变成"null"等。

数字转换

数字转换自动发生在数学函数和表达式中。

例如,当除法/应用于非数字时:

alert( "6" / "2" ); // 3, strings are converted to numbers

我们可以使用该Number(value)函数将 a 显式转换value为数字:

let str = "123";
alert(typeof str); // string
let num = Number(str); // becomes a number 123
alert(typeof num); // number

当我们从基于字符串的源(如文本表单)读取值但期望输入数字时,通常需要显式转换。

如果字符串不是有效数字,则此类转换的结果为NaN。例如:

let age = Number("an arbitrary string instead of a number");
alert(age); // NaN, conversion failed

布尔转换

布尔转换是最简单的一种。

它发生在逻辑操作中(稍后我们将遇到条件测试和其他类似的事情),但也可以通过调用Boolean(value).

转换规则:

价值观是直观的“空”,就像0一个空字符串,null,undefined,和NaN,成为false。

其他值变为true.

例如:

alert( Boolean(1) ); // true
alert( Boolean(0) ); // false
alert( Boolean("hello") ); // true
alert( Boolean("") ); // false

请注意:带零的字符串"0"是true

有些语言(即PHP)会将"0"转换为false。但在 JavaScript 中,非空字符串总是true.

alert( Boolean("0") ); // true
alert( Boolean(" ") ); // spaces, also true (any non-empty string is true)

概括总结

三种最广泛使用的类型转换是字符串、数字和布尔值。

String Conversion– 当我们输出一些东西时发生。可以用String(value). 对于原始值,转换为字符串通常是显而易见的。

Numeric Conversion– 发生在数学运算中。可以用Number(value).

人们通常会犯错误是:

undefined是NaN一个数字,而不是0。

"0"和仅空格字符串之类" "的作为布尔值是true。

此处不涉及对象。在我们了解了有关 JavaScript 的更多基本知识之后,我们将在专用于对象的对象到原始转换一章中稍后返回它们。

搜你所爱
JavaScript:目录
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。