JavaScript data type study notes_javascript skills
There are 5 simple data types in ECMAscript, also known as basic data types: Undefined, Null, Boolean, Number and String. There is also a complex data type - Object.
Undefined Type
When a variable is declared using var but is not initialized, the value of the variable is undefined. Such as:
var number; document.write(number); //undefined
If the variable is not declared, the following error will occur. Such as:
document.write(str); //错误
But when executed with typeof, undefined value will be returned regardless of whether it is declared or not. Such as:
var num; document.write(typeof num); //undefined document.write(typeof str); //undefined
Null type
When using typeof to detect null, "object" will be returned. Such as:
var num = null; document.write(typeof num); //object
In fact, the undefined value is derived from the null value, so they will return true if they are equal. Such as:
alert(null == undefined); //true
What should be noted here is that as long as the variable intended to save the object has not actually saved the object, the variable should be explicitly allowed to save the null value. This will help distinguish null and undefined. Such as:
var num1 = null; var num2; document.write(typeof num1 + " " + typeof num2); //object undefined
Boolean type
To convert a value to its corresponding Boolean value, you can use the conversion function Boolean(). Such as:
var str = "helloworld"; document.write(Boolean(str)); //true
Chapter 3.4.4 in the book "JavaScript Advanced Programming Design" gives a table of various data types and their corresponding conversion rules. There are probably the following types:
- When the data type is String, any non-empty string will be converted to true;
- When the data type is Number, except 0 and NaN which will be converted to false, everything else will be converted to true;
- When the data type is Object, except null, it will be converted to true;
- When the data type is Undefined, n/a will be converted to true and undefined will be converted to false;
It should be noted here that if statements often use Boolean conversions that automatically execute responses as conditions. Such as:
var str = "helloworld"; if (str){ document.write("hellothere"); } //hellothere
Number type
In addition to being represented in decimal, integers can also be represented by octal or hexadecimal literal values. The first bit of the octal literal value must be 0, followed by a sequence of octal digits (0~7). Such as:
var num1 = 070; //八进制的56 var num2 = 032; //八进制的32 var num3 = 079; //错误的八进制(>7) var num4 = 09; //错误的八进制(>7)
The first two digits of a hexadecimal literal value must be 0x, followed by any hexadecimal digit (0~9 and A~F). Such as:
var num1 = 0xA; //十六进制的10 var num1 = 0xa; //也是十六进制的10(字母不区分大小写)
Floating point value
The important thing to note here is that you should never compare specific floating point values. Such as:
var a = 0.1; var b = 0.2; if (a + b == 0.3){ document.write("you are right") } //因为0.1 加上0.2 实际上等于0.30000000000000004
Value range
The maximum and minimum values that ECMAScript can represent are stored in Number.MAX_VALUE and Number.MIN_VALUE. To determine whether a value is finite, use the isFinite() function. Such as:
document.write(isFinite(Number.MAX_VALUE + Number.MAX_VALUE)); //false
NaN
0 divided by 0 will return NaN, positive number divided by 0 will return Infinity, and complex number will return -Infinity. Second, NaN is not equal to any number, including itself. In addition, the function isNaN() can help us determine whether this parameter is "not a numerical value". Such as:
document.write(isNaN("a")); //true; document.write(isNaN("324")); //false; document.write(isNaN(true)); //false; document.write(isNaN(false)); //false; document.write(isNaN(NaN)); //true;
Numeric conversion
There are three functions that can convert non-numeric values into numeric values: Number(), parseInt(), and parseFloat().
The conversion rules of Number() are as follows:
If it is a Boolean value, true and false will be converted to 1 and 0.
If it is a numeric value, it is unchanged.
If it is a null value, it is converted to 0.
If it is undefined, returns NaN.
If it is a string, follow the following rules:
- If there are only numbers, convert them to decimal values.
- If it is in floating point format, convert it into the corresponding floating point value. Leading zeros are also ignored.
- If it is in hexadecimal format, it will be converted into decimal number.
- If the string is empty, it will be converted to 0.
- Other cases will be converted to NaN.
See the example below for details:
document.write(Number(true)); //1 document.write(Number(false)); //0 document.write(Number("789")); //789 document.write(Number(null)); //0 document.write(Number(undefined)); //NaN document.write(Number("02.0942")); //2.0942 document.write(Number(0xa)); //10 document.write(Number("")); //0 document.write(Number("fdsa")); //NaN
parseInt()的转换规则如下:
- 如果第一个字符不是数字字符或者符号,parseInt()会返回NaN。
- 用parseInt()转换空字符串会返回NaN。
- 如果第一个字符是数字字符,它会继续解析第二个字符,直到遇到了一个非数字字符.
下面是具体的例子:
document.write(parseInt("fds")); //NaN document.write(parseInt("")); //NaN document.write(parseInt("1111112abc")); //1111112 document.write(parseInt("-1111112abc")); //-1111112 document.write(parseInt("+1111112abc")); //-1111112 document.write(parseInt("0xa")); //10 document.write(parseInt("0022.00009")); //22 document.write(parseInt("070")); //ECMAScript 3认为是56(八进制), ECMAScript 5认为是70(十进制)
另外需要注意的是,ECMAScript 5已经不具备解析八进制值的能力了所以为了消除这个问题,可以为这个函数提供第二个参数:转换时使用的基数(多少进制),具体如下:
document.write(parseInt("070",10)); //70 document.write(parseInt("070",8)); //56 document.write(parseInt("070",16)); //112
多数情况下,最好默认设置成10进制。
parseFloat()的转换规则如下:
- 与parseInt()类似,不同的是字符串第一个小数点是有效的,而从第二个小数点开始包括第二个小数点是无效的。
- 他不能解析十六进制数值!!!
- 他只能解析十进制数值!!!
- 他没有用第二个基数来指定进制的用法。
下面是具体的例子:
document.write(parseFloat("421")); //421 document.write(parseFloat("0421.32.1")); //421.32 document.write(parseFloat("0xaafd")); //0 document.write(parseFloat("070")); //70 document.write(parseFloat("070abc")); //70 document.write(parseFloat("")); //NaN document.write(parseFloat("abc")); //NaN
String 类型
要把一个值转换成字符串有两种方式。第一种是使用几乎每个值都有的toString()方法。如下:
document.write((533).toString(10)); //"533" document.write((0xa).toString(10)); //"10" document.write((0xa).toString(2)); //"1010" document.write((true).toString(10)); //"true" document.write((false).toString(10)); //"false"
另外需要注意的是,null 和 undefined 不能转换。
document.write((null).toString(10)); // document.write((undefined).toString(10)); //
如果不知道需要转换的数值是否是null 或者undefined 则应该使用转型函数String(),如果是null 会返回"null"如果是undefined 会返回"undefined"。如下:
document.write(String(null)); //"null" document.write(String(undefined)); //"undefined"
另外在下一篇文章中再详细介绍Object 类型。
以上就是关于JavaScript数据类型的简单介绍,希望对大家学习JavaScript数据类型有所帮助。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



In a MySQL database, gender fields can usually be stored using the ENUM type. ENUM is an enumeration type that allows us to select one as the value of a field from a set of predefined values. ENUM is a good choice when representing a fixed and limited option like gender. Let's look at a specific code example: Suppose we have a table called "users" that contains user information, including gender. Now we want to create a field for gender, we can design the table structure like this: CRE

In MySQL, the most suitable data type for gender fields is the ENUM enumeration type. The ENUM enumeration type is a data type that allows the definition of a set of possible values. The gender field is suitable for using the ENUM type because gender usually only has two values, namely male and female. Next, I will use specific code examples to show how to create a gender field in MySQL and use the ENUM enumeration type to store gender information. The following are the steps: First, create a table named users in MySQL, including

JavaScript tutorial: How to get HTTP status code, specific code examples are required. Preface: In web development, data interaction with the server is often involved. When communicating with the server, we often need to obtain the returned HTTP status code to determine whether the operation is successful, and perform corresponding processing based on different status codes. This article will teach you how to use JavaScript to obtain HTTP status codes and provide some practical code examples. Using XMLHttpRequest

Python is widely used in a wide range of fields with its simple and easy-to-read syntax. It is crucial to master the basic structure of Python syntax, both to improve programming efficiency and to gain a deep understanding of how the code works. To this end, this article provides a comprehensive mind map detailing various aspects of Python syntax. Variables and Data Types Variables are containers used to store data in Python. The mind map shows common Python data types, including integers, floating point numbers, strings, Boolean values, and lists. Each data type has its own characteristics and operation methods. Operators Operators are used to perform various operations on data types. The mind map covers the different operator types in Python, such as arithmetic operators, ratio

When designing database tables, choosing the appropriate data type is very important for performance optimization and data storage efficiency. In the MySQL database, there is really no so-called best choice for the data type to store the gender field, because the gender field generally only has two values: male or female. But for efficiency and space saving, we can choose a suitable data type to store the gender field. In MySQL, the most commonly used data type to store gender fields is the enumeration type. An enumeration type is a data type that can limit the value of a field to a limited set.

Detailed explanation of how to use Boolean types in MySQL MySQL is a commonly used relational database management system. In practical applications, it is often necessary to use Boolean types to represent logical true and false values. There are two representation methods of Boolean type in MySQL: TINYINT(1) and BOOL. This article will introduce in detail the use of Boolean types in MySQL, including the definition, assignment, query and modification of Boolean types, and explain it with specific code examples. 1. The Boolean type is defined in MySQL and can be

C language is a widely used computer programming language that is efficient, flexible and powerful. To be proficient in programming in C language, you first need to understand its basic syntax and data types. This article will introduce the basic syntax and data types of C language and give examples. 1. Basic syntax 1.1 Comments In C language, comments can be used to explain the code to facilitate understanding and maintenance. Comments can be divided into single-line comments and multi-line comments. //This is a single-line comment/*This is a multi-line comment*/1.2 Keyword C language

1. Introduction to Python Python is a general-purpose programming language that is easy to learn and powerful. It was created by Guido van Rossum in 1991. Python's design philosophy emphasizes code readability and provides developers with rich libraries and tools to help them build various applications quickly and efficiently. 2. Python basic syntax The basic syntax of Python is similar to other programming languages, including variables, data types, operators, control flow statements, etc. Variables are used to store data. Data types define the data types that variables can store. Operators are used to perform various operations on data. Control flow statements are used to control the execution flow of the program. 3.Python data types in Python
