JavaScript-数据类型

1.变量的声明和赋值

什么是变量

变量是计算机编程中的一个基本概念,它用于存储和操作程序中的数据。变量可以用来存储数字、字符串、对象、数组等各种数据类型的值。

在 JavaScript 中,变量可以通过声明和赋值来创建。在声明变量时,需要使用关键字varletconst来指定变量的名称和数据类型。其中,varlet声明的变量可以在程序运行期间修改其值,而const声明的常量则不能修改其值。

例如,以下代码声明了一个名为myVariable的变量,并将其初始化为字符串"Hello, World!":

let myVariable = "Hello, World!";

在程序运行期间,可以使用变量来存储和操作数据。例如,可以使用myVariable来存储用户输入的文本,或者对其进行计算和处理。变量的值可以在程序的不同部分被访问和修改。

变量的命名规则

  1. 变量名必须以字母、下划线或美元符号开头。
  2. 变量名只能包含字母、数字、下划线或美元符号。
  3. 变量名不能是 JavaScript 中的保留关键字,如varletconstfunctionifelse等。
  4. 变量名应该尽量简洁明了,能够清晰地表达其含义。
  5. 变量名应该采用驼峰式命名法(Camel Case)或下划线命名法(Underline Case),例如myVariablemy_variable
  6. 变量名应该避免使用容易混淆的字符,如数字 0 和字母 o、数字 1 和字母 l 等。

 变量的赋值

  1. 使用等号=将值赋给变量。
  2. 可以将一个常量、变量、表达式或函数的返回值赋给变量。
  3. 可以将一个对象或数组的属性或元素赋给变量。
  4. 可以使用字符串、数字、布尔值、对象、数组等类型的值进行赋值。

      示例:

      

// 声明并赋值变量
let myVariable = 10;
let myString = "Hello, World!";
let myBoolean = true;
let myObject = { name: "John", age: 30 };
let myArray = [1, 2, 3, 4, 5];

// 访问和修改变量的值
myVariable = 20;
myString = myString + "!";
myBoolean = false;
myObject.name = "Jane";
myArray.push(6);

在上述示例中,声明了几个变量并对其进行赋值和修改。请注意,变量的类型是根据其赋值的类型来确定的,并且可以在运行时更改。在实际编程中,应该根据具体需求合理地命名和赋值变量,以提高代码的可读性和可维护性。

对象类型 

在 JavaScript 中,对象(Object)是一种无序的键值对集合,用于存储相关的数据。对象是一种复杂的数据类型,可以包含多个属性和方法。

对象的创建可以使用花括号{}来声明,并使用逗号,分隔键值对。键是一个字符串,用于标识属性,值可以是任何类型的数据,如字符串、数字、布尔值、对象、数组等。

例如,创建一个包含名字和年龄的对象可以这样写:

var person = {
name:'yunhe',
aeg:30
};

 在这个例子中,person是对象的名称,nameage是对象的属性,分别对应于名字和年龄的值。

 可以通过点号.或方括号[]来访问对象的属性和方法。例如,要访问对象person的名字,可以这样   写:

console.log(person.name);//输出:yunhe

 要访问对象person的年龄,可以这样写:

console.log(person.aeg);//输出:30

判断数据类型

使用 typeof 操作符:typeof 操作符可以返回一个字符串,表示被操作数的类型

typeof 操作符是 JavaScript 中的一种一元运算符,用于返回操作数的类型。

typeof 操作符接受一个操作数作为参数,并返回一个字符串,表示该操作数的类型。这个字符串可能是以下值之一:

  • "string":表示操作数是一个字符串类型。
  • "number":表示操作数是一个数字类型。
  • "boolean":表示操作数是一个布尔类型。
  • "object":表示操作数是一个对象类型。
  • "function":表示操作数是一个函数类型。
  • "undefined":表示操作数是undefined
  • "symbol"(在 ES6 及以上版本中):表示操作数是一个符号类型。

例如:

console.log(typeof 10);  // 输出: number
console.log(typeof "Hello, World!");  // 输出: string
console.log(typeof true);  // 输出: boolean
console.log(typeof {});  // 输出: object
console.log(typeof function() {});  // 输出: function
console.log(typeof null);  // 输出: object
console.log(typeof Symbol());  // 输出: symbol (在 ES6 及以上版本中)

String

String 是 JavaScript 中的一种基本数据类型,用于表示文本数据。

  1. 字符串用单引号或双引号包括起来

  2. 单双引号均不能解析变量

  3. 变量与字符串,变量与变量之间可以使用运算符‘+’来链接

  4. 单引号和双引号可以互相嵌套,如果单引号中要嵌套单引号,需要使用转义字符

转义字符 

转义字符是一种特殊的字符序列,用于表示一些特殊的字符或控制字符。在 JavaScript 中,转义字符通常用于表示一些特殊的字符,例如换行符、制表符、双引号、单引号等。

字面量含义
\n换行符
\t制表符
\b退格符
\r回车键
\\"双引号
\\'单引号
\0空字符
\uXXXX十六进制 Unicode 字符,其中XXXX表示四个十六进制数字
\xXX十六进制 ASCII 字符,其中XX表示两个十六进制数字

例如,要在字符串中输出一个双引号,可以使用反引号\\"来转义:

let str = "He said, \"Hello, World!\"";
console.log(str);  // 输出: He said, "Hello, World!"

Number

Number 是 JavaScript 中的一种基本数据类型,用于表示数字。它可以存储整数和浮点数,并且可以进行数学运算。

在 JavaScript 中,可以使用数字直接量或变量来创建Number类型的值。例如:

let num1 = 10;  // 创建一个整数变量 num1,值为 10
let num2 = 3.14;  // 创建一个浮点数变量 num2,值为 3.14

也可以使用Number()函数将其他类型的值转换为数字类型。例如:

let strNum = "10";
let num3 = Number(strNum);  // 将字符串"10"转换为数字 10,并将结果存储在变量 num3 中

 Number类型的值可以进行数学运算,例如加法、减法、乘法、除法等。例如:

let num1 = 10;
let num2 = 3.14;
let sum = num1 + num2;  // 计算 num1 和 num2 的和,并将结果存储在变量 sum 中
console.log(sum);  // 输出: 13.14
整形

整形是一种用于表示整数的数值类型,它可以表示从负无穷大到正无穷大的整数。在编程语言中,整形通常使用整数直接量或变量来表示。例如,在 JavaScript 中,可以使用 10、-5、12345 等整数直接量来创建整形变量。

浮点型

浮点型是一种用于表示带有小数部分的数字的数值类型,它可以表示从负无穷大到正无穷大的浮点数。在编程语言中,浮点型通常使用小数直接量或变量来表示。例如,在 JavaScript 中,可以使用 3.14、-1.23、123.45 等小数直接量来创建浮点型变量。

Boolean

Boolean 是一种数据类型,用于表示逻辑值,即真(true)或假(false

Boolean 类型通常用于表示条件的真假、开关状态、逻辑判断

  • true:表示逻辑真。
  • false:表示逻辑假。
  • 条件表达式的结果:例如5 > 3的结果为true5 < 3的结果为false
  • 布尔运算符的结果:例如!false的结果为true!!false的结果为false
var a=10;
if(a>9){
alert('true')
}else{
alert('fales')
};

在上述代码中,创建一个名字为a的数值,并用if语句进行判断,如果结果为真,则为true,反之,则为fales

Array

Array 是一种动态数组类型,用于存储一组有序的元素。它可以存储不同类型的数据,并且可以根据需要动态地添加或删除元素

创建数组

使用方括号[]创建数组:

let arr = [1, 2, 3, 4, 5];

 创建并获取数组的值

// 创建数组并赋值
let arr = [1, 2, 3, 4, 5];

// 获取数组中的值
console.log(0);
console.log(1);
console.log(2);
console.log(3);
console.log(4);
console.log(5);

在上述代码中,创建了一个以arr命名的数组,并依次打印出数组的内容,从0开始,到5结束,分别对应数组里值的下标,1的下标为0,2的下标为1,以此类推 

数组的方法
  • push():向数组的末尾添加一个或多个元素。
  • pop():从数组的末尾删除一个元素。
  • shift():从数组的开头删除一个元素。
  • unshift():向数组的开头添加一个或多个元素。
  • slice():从数组中提取一部分元素,并将它们作为一个新数组返回。
  • filter():创建一个新数组,其中包含通过测试的所有元素。
  • sort():对数组中的元素进行排序。
  • reverse():反转数组中元素的顺序。
        符号拼接
        var arr =['河南','北京','上海'];
        document.writeln(arr.join('-'));

        两数组拼接
        var arr=['河南','北京','上海'];
        var arr1=['天津','河北','山东'];
        var arr2=[...arr,...arr1];
        document.write(arr2);


        头部添加
        var arr=['河南','北京','上海'];
        arr.unshift('天津','河北','山东');
        document.write(arr);
        

        尾部添加
        var arr=['河南','北京','上海'];
        arr.push('天津','河北','山东');
        document.write(arr);


        头部删除
        var arr=['河南','北京','上海'];
        var arr1=arr.shift();
        // document.write(arr1);   输出被删除的数据
        document.write(arr);       输出删除后的数据

        尾部删除
        var arr=['河南','北京','上海'];
        var arr1=arr.pop();
        // document.write(arr1);
        document.write(arr);

        添加删除
        var arr=['河南','北京','上海'];
        splice(开始删除的位置,删除内容的长度,删除后添加的新内容)
        var arr1=arr.splice(2,1,'山东');      
        document.write(arr)



        正序倒序
        var arr=['河南','北京','上海'];
        document.write(arr.reverse());


        从小到大排序
        var arr = [5, 3, 8, 2, 1];
        numbers.sort(function(a, b) {
        return a - b;
        });
        console.log(arr);  // 输出: [1, 2, 3, 5, 8]
 多维数组

多维数组是指数组中的每个元素又是一个数组,形成嵌套的结构。在编程中,多维数组可以用来存储和处理具有嵌套关系的数据。

以下是在 JavaScript 中创建和访问多维数组的示例:

// 创建一个二维数组
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

// 获取二维数组中第一行的第一个元素
let firstRowFirstElement = arr[0][0];
console.log(firstRowFirstElement); // 输出 1

// 获取二维数组中第二行的第三个元素
let secondRowThirdElement = arr[1][2];
console.log(secondRowThirdElement); // 输出 6

 Object 对象

对象

    属性:本身所拥有的特性  

    方式:能做的事情

     { },使用{ }包括起来的都是对象

     [ ], 使用[ ]包括起来的都是数组

创建对象

在 JavaScript 中,Object 对象是一种通用的数据结构,用于存储和组织相关的数据和功能。它是除了基本数据类型(如字符串、数字、布尔值等)之外的一种复杂数据类型。

Object 对象可以包含多个属性(键值对),其中键是一个字符串或符号,用于标识属性,而值可以是任意类型的数据。属性可以通过键来访问和操作。

以下是在 JavaScript 中创建和访问Object对象的示例:

// 创建一个空的 Object 对象
let person = {};

// 添加属性和值
person.name = "John";
person.age = 30;

// 访问属性和值
let name = person.name;
console.log(name); // 输出: John

let age = person.age;
console.log(age); // 输出: 30

在上面的示例中,我们使用花括号{}创建了一个空的Object对象person。然后,我们使用点号.来添加属性和值,例如person.name = "John"person.age = 30。最后,我们使用点号和属性名来访问属性和值,例如person.nameperson.age

Object对象还可以包含方法,方法是与对象关联的函数,可以通过对象的属性来访问和调用。方法可以用于对对象中的数据进行操作或执行其他相关的任务。

Object对象在 JavaScript 中被广泛使用,可以用于表示复杂的数据结构、模型、配置、状态等。它们提供了一种灵活和可扩展的数据组织方式,可以根据需要动态地添加和修改属性和方法。

除了直接创建Object对象,还可以使用对象字面量、构造函数等方式来创建对象。此外,JavaScript 中的数组、函数等也都是对象的一种特殊形式。对象在编程中扮演着重要的角色,是构建复杂应用程序和处理数据的基础。

2.数据类型转换

转为字符串

自动转换

类型

转换字符串型后的结果

number

NaN、0、或数值对应的字符串

null

"null"

boolean

"true"、"false"

undefined

"undefined"

object

若对象存在为其toString()方法的值,若对象不存在为"undefined"

转为数字类型

强制转换

类型

转换为数字型后的结果

string

若内容为数字则为相应数字,否则为NaN

null

0

boolean

true转为1,false转为0

undefined

NaN

object

NaN

Number() 按照自动转换规则转换

parseInt(string) 、parseFloat(string)

isNaN() 函数用于检查其参数是否是非数字值

Number()函数:将其他类型的值转换为数字类型。

let str = "123";
let num = Number(str); // 输出: 123
 转为布尔类型

类型

转换布尔型后的结果

""或''

false

0或0.0

false

NaN

false

undefined

false

null

false

其它

true

在==比较的过程中,数据转换的规则 类型一样的几个特殊点:

{} == {} false,对象对比的是堆内存的地址 [] == [] false NaN == NaN false

类型不一样的转换规则:

  1. null == undefined true,但是换成 === 结果是false(因为类型不一致),剩下null/undefined和其他任何数据类型值都不相等

  2. 字符串 == 对象,要把对象转为字符串

  3. 剩下如果 == 两边数据类型不一致,都是需要转换为数字再进行比较

如果类型都是字符串,就会按照ASCII编码的进行对比

4.运算符

  1. 算术运算符:用于执行基本的算术运算,包括加、减、乘、除等。常见的算术运算符包括:
  • +:加法运算符
  • -:减法运算符
  • *:乘法运算符
  • /:除法运算符
  • %:取模运算符
  1. 位运算符:用于执行位运算,包括按位与、按位或、按位异或等。常见的位运算符包括:
  • &:按位与运算符
  • |:按位或运算符
  • ^:按位异或运算符
  • ~:按位取反运算符
  1. 赋值运算符:用于给变量赋值。常见的赋值运算符包括:
  • =:赋值运算符
  • +=:加等于运算符
  • -=:减等于运算符
  • *=:乘等于运算符
  • /=:除等于运算符
  • %=:取模等于运算符
  1. 比较运算符:用于比较两个值的大小关系,包括等于、不等于、大于、小于等。常见的比较运算符包括:
  • ==:等于运算符
  • !=:不等于运算符
  • >:大于运算符
  • <:小于运算符
  • >=:大于等于运算符
  • <=:小于等于运算符
  1. 逻辑运算符:用于执行逻辑操作,包括与、或、非等。常见的逻辑运算符包括:
  • &&:逻辑与运算符
  • ||:逻辑或运算符
  • !:逻辑非运算符
  1. 条件运算符:用于根据条件选择不同的值。常见的条件运算符包括:
  • ?:条件运算符
  • ::条件运算符的两个值之间的分隔符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值