Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Datentypen in JavaScript
var message; alert(message == undefined); //true
var message = undefined; alert(message == undefined); //true
var car = null; alert(typeof car); // "object"
if (car != null){ // 对car 对象执行某些操作 }
alert(null == undefined); //true
Dieser Typ hat nur zwei Literalwerte: wahr und falsch. Diese beiden Werte sind nicht dasselbe wie numerische Werte. Wahr ist also nicht unbedingt gleich 1 und falsch ist nicht unbedingt gleich 0. Das Folgende ist ein Beispiel für die Zuweisung eines Werts vom Typ
zu einer Variablen:
var found = true; var lost = false;
Es sollte beachtet werden Wörter vom Typ Boolean Bei den Werten true und false wird die Groß-/Kleinschreibung beachtet. Das heißt, „Wahr“ und „Falsch“ (und andere Formen mit gemischter Groß-/Kleinschreibung) sind keine booleschen Werte, sondern nur Bezeichner. Obwohl es nur zwei Literalwerte vom Typ Boolean gibt, haben alle Wertetypen in ECMAScript Werte, die diesen beiden Booleschen Werten entsprechen. Um einen Wert in den entsprechenden booleschen Wert umzuwandeln, können Sie die Konvertierungsfunktion Boolean() aufrufen, wie im folgenden Beispiel gezeigt:
var message = "Hello world!"; var messageAsBoolean = Boolean(message); BooleanExample01.htm
In diesem Beispiel wird die Zeichenfolge message in einen booleschen Wert umgewandelt, der in der Variablen messageAsBoolean gespeichert wird. Die Funktion Boolean() kann für einen Wert eines beliebigen Datentyps aufgerufen werden und gibt immer einen booleschen Wert zurück. Ob der zurückgegebene Wert wahr oder falsch ist, hängt vom Datentyp des umzuwandelnden Werts und seinem tatsächlichen Wert ab. In der folgenden Tabelle sind verschiedene Datentypen und die entsprechenden Konvertierungsregeln aufgeführt.
Datentyp |
Konvertieren Sie in den Wert von wahr |
Konvertieren Sie in den Wert von falsch |
Boolean |
true |
false |
String |
Jede nicht leere Zeichenfolge |
"" (leere Zeichenfolge) |
Zahl |
Jeder numerische Wert ungleich Null (einschließlich Unendlichkeit) |
0 und NaN |
Objekt undefiniert |
Jedes Objekt |
null
|
undefiniert |
|
undefined |
NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以0 都会导致错误,从而停止代码执行。但在ECMAScript 中,任何数值除以0 会返回NaN①,因此不会影响其他代码的执行。NaN 本身有两个非同寻常的特点。首先,任何涉及NaN 的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。其次,NaN
与任何值都不相等,包括NaN 本身。例如,下面的代码会返回false:
针对NaN 的这两个特点,ECMAScript 定义了isNaN()函数。这个函数接受一个参数,该参数可以是任何类型,而函数会帮我们确定这个参数是否“不是数值”。isNaN()在接收到一个值之后,会尝试将这个值转换为数值。某些不是数值的值会直接转换为数值,例如字符串"10"或Boolean 值。而任何不能被转换为数值的值都会导致这个函数返回true。请看下面的例子:
alert(isNaN(NaN)); //true alert(isNaN(10)); //false(10 是一个数值) alert(isNaN("10")); //false(可以被转换成数值10) alert(isNaN("blue")); //true(不能转换成数值) alert(isNaN(true)); //false(可以被转换成数值1)
有3 个函数可以把非数值转换为数值:Number()、parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。这3 个函数对于同样的输入会有返回不同的结果
以上就是JavaScript中数据类型详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!