Home >Web Front-end >JS Tutorial >Basic data types for js basic improvement learning

Basic data types for js basic improvement learning

php中世界最好的语言
php中世界最好的语言Original
2018-06-04 14:00:151692browse

This time I will bring you the basics of js basic improvement learning Data types, what are the precautions when using js basic data types, the following is a practical case, let’s take a look .

The data types of JavaScript are divided into two major types:

1. Basic data types:

String (String)

Number (Number):

Boolean: true, false

undefined: undefined

null: empty

NaN: not a number (isNaN( 10), returns false, indicating whether it is a number. If you pass a number, an error will be reported)

2. Reference data type (object/conforming data type):

Inherit Object

An object in js is a collection of properties and methods. Here we talk about reference types. Reference types are a data structure used to organize data and functions together. Reference types are sometimes called object definitions because they describe the properties and methods that a type of object has.


Basic data type:

In the first JS, we found the conversion, how to convert it specifically? What are the order and rules? Explain:

Reason for conversion: python and javascript are weak data-type languages, so they will be converted

Priority level: string >float >int > boolean

A simple example:

1. The priority of strings is higher than numbers. Numbers will be converted into strings and can be output.



2. The floating point type is higher than the integer type, and the output is 12.3

3. The isNaN method is used to determine if it is not a number

For example, is it a number?

Yes, so the result is Flese



##4. Boolean:

isTrue is the variable name




---------------------- ----------------------------------Supplementary analysis of basic data types---------- ------------------------------------------------

typeof operator

Since variables in js are loosely typed, it provides a method to detect the data type of the current variable, which is the typeof keyword.

type of   123   //Number
type of   'abc'  //String
type of    true       //Boolean
type of    undefined   //Undefined
type of    null        //Object
type of    { }           //Object
type of    [ ]           //Object
type of    console.log()       //Function
## After the typeof operator is performed on the #null type, the result is object. The reason is that the null type is treated as an empty object reference.

1.Number type

The Number type contains two types of values: integers and floating point numbers (floating point numbers must contain a decimal point, and there is at least one digit after the decimal point).

NaN: non-numeric type. Features: ① Any operation involving NaN will return NaN ② NaN is not equal to itself.

isNaN() function is used to check whether its argument is a non-numeric value.

isNaN(123)  //false   isNaN("hello")  //true

2.String type

String has length attribute.

String conversion: Transformation function String(), suitable for any data type (null, undefined converted to null and undefined);

toString() method (null, defined without toString( )method).

3.Boolean type

This type has only two values, true and false

4.Undefined type

has only one value, the undefined value. If a variable is declared using var, but the variable is not initialized, the value of the variable is undefined.

5.Null type

The null type is regarded as a null object pointer. As mentioned above, the null type is also a null object reference.

6.Object type

Object in js is a collection of properties and methods. Here we talk about reference types. Reference types are a data structure used to organize data and functions together. Reference types are sometimes called object definitions because they describe the properties and methods of a class of objects.

Three major reference types:

1.Object type

Most of the type values ​​we see are instances of the Object type. There are two ways to create Object instances. .

The first way is to use the new operator followed by the Object

constructor

, as shown below

var person = new Object();
person.name = "Micheal";
person.age = 24;
The second way is to use the object literal notation, as shown below

var person = {
  name : "Micheal",
  age : 24
};

2.Array type

Each item of the array can be used to save any type of data, that is to say, the first position of the array can be used to save the string, and the second The first position stores the value, and the third position stores the object.... In addition, the size of the array can be dynamically adjusted.

There are two basic ways to create an array

The first is to use the Array constructor, as shown below

var colors = new Array("red","blue","yellow");

The second is to use the array literal representation, As shown below

var colors = ["red","blue","yellow"];

3 Function type

Each function is an instance of the Function type, and has the same properties and methods as other reference types. Functions are usually

defined using function

declaration syntax, as shown below

function sum(num1,num2){
  return num1 + num2;
};
This is similar to how

function expressions

are used to define functions.

var sun = function (){
  return sum1 + sum2;
};

也就是说,js按照存储方式分为值类型和引用类型。那么他们的计算有什么区别呢?

题目1:

var a = 100;
    var b = a;
      a = 200;
    console.log (b);

题目2:

var a = {age : 20};
    var b = a;
    b.age = 21;
    console.log (a.age);

题目1的答案是 100,题目2的答案是21,

题目1是简单的值类型,在从一个变量向另一个变量赋值基本类型时,会在该变量上创建一个新值,然后再把该值复制到为新变量分配的位置上。

此时,a中保存的值为 100 ,当使用 a 来初始化 b 时,b 中保存的值也为100,但b中的100与a中的是完全独立的,该值只是a中的值的一个副本,此后,这两个变量可以参加任何操作而相互不受影响。也就是说基本类型在赋值操作后,两个变量是相互不受影响的。

题目2是引用类型,当从一个变量向另一个变量赋值引用类型的值时,同样也会将存储在变量中的对象的值复制一份放到为新变量分配的空间中。

这时保存在变量中的是对象在堆内存中的地址,所以,与简单赋值不同,这个值的副本实际上是一个指针,而这个指针指向存储在堆内存的一个对象。那么赋值操作后,

两个变量都保存了同一个对象地址,则这两个变量指向了同一个对象。因此,改变其中任何一个变量,都会相互影响。

因此,引用类型的赋值其实是对象保存在栈区地址指针的赋值,因此两个变量指向同一个对象,任何的操作都会相互影响。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

怎样使用li进行水平排列

怎样操作页面、可视区、屏幕等宽高属性

The above is the detailed content of Basic data types for js basic improvement learning. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn