2. 数据类型

数据类型概述:

数据类型特点应用场景
字符串(String)文本字符序列,使用单引号或双引号包裹存储或操作文本数据,如用户名、密码、URL等
数字(Number)数值类型,可以是整数、浮点数等存储或操作数值型数据,如商品价格、数量、评分等
布尔值(Boolean)只能表示真假值,true和false存储逻辑性数据,如是否登录、是否处理完成等
undefined未定义,变量声明但未赋值作为初始值或默认值
null空值作为变量值的特殊情况,如未找到数据等
数组(Array)有序的数据集合,每个数据项都有对应的下标存储一组有序的数据,如商品列表、文章列表等
对象(Object)由键值对组成的数据结构,无序存储一组键值对数据,如用户信息、商品信息等
函数(Function)可执行的代码块,可以被调用封装可重用的功能代码,实现模块化编程


申请空间:

关键字描述
var用于存储数据,向计算机申请空间,但是会固定从根申明
let用于存储数据,向计算机申请空间,变量,可重复声明
const用于存储数据,向计算机申请空间,常量,不可重复声明


字符串:

增加操作

方法描述
concat()连接两个或多个字符串
slice()提取字符串的某个部分,并作为新字符串返回

删除操作

方法描述
replace()替换指定的字符或正则表达式的匹配项
trim()去掉字符串两端的空格

修改操作

方法描述
toLocaleLowerCase()转换字符串为本地小写
toLocaleUpperCase()转换字符串为本地大写
toLowerCase()把字符串转换为小写
toUpperCase()把字符串转换为大写

查询操作

方法描述
charAt()返回指定位置的字符
charCodeAt()返回指定位置的字符的 Unicode 值
indexOf()返回字符串中指定文本的第一个出现的位置
lastIndexOf()返回字符串中指定文本的最后一个出现的位置
match()找到一个或多个正则表达式的匹配
search()检索字符串中指定的子字符串,或正则表达式的匹配项
substr()从指定的位置开始,返回指定长度的子字符串
substring()提取字符串中两个指定的索引号之间的字符


常用的数字取整方法:

方法描述
Math.ceil()向上取整,将小数部分向上舍入为整数
Math.floor()向下取整,将小数部分向下舍入为整数
Math.round()四舍五入,根据小数部分的大小来决定舍入到哪个整数
parseInt()将数字转换为整数,舍弃小数部分
parseFloat()将数字转换为浮点数,可以保留小数部分

需要注意的是,在使用取整方法时,可能会遇到浮点数精度丢失的情况,因此在实际开发中,需要注意精度问题,可以使用toFixed()方法来指定保留小数的位数。例如(3.145).toFixed(2)的结果为3.14。



布尔值:

True or False(真或假)



对象:

属性增删改查的实例:

操作例子
添加属性person.age = 25; person[‘name’] = ‘John’;
删除属性delete person.age;
修改属性person.age = 30;
查询属性console.log(person.name);

方法增删改查的实例:

操作例子
添加方法person.sayHello = function() {console.log(‘Hello!’);};
删除方法delete person.sayHello;
修改方法person.sayHello = function() {console.log(‘Hi!’);};
调用方法person.sayHello();


函数:

操作例子
增加function add(x, y) { return x + y; }
删除delete add;
修改add = function(x, y) { return x * y; };
查询console.log(add(3, 4));


当我们在JavaScript中进行数据类型检测时,可以使用以下方法:

万能数据类型检测:

Object.prototype.toString.call()是一种通用的检测数据类型的方式。可以通过这种方式获取一个变量的准确类型。

Object.prototype.toString.call()是通过调用对象的原型方法toString来检测数据类型。具体使用方式是将要检测的变量作为call()函数调用的上下文对象,也就是调用它的对象。

例如,Object.prototype.toString.call(“hello”)将返回一个表示字符串类型的字符串"[object String]"。

下面是一个例子,展示了如何使用Object.prototype.toString.call()来检测不同数据类型:

console.log(Object.prototype.toString.call("hello")); // 输出: "[object String]"
console.log(Object.prototype.toString.call(123)); // 输出: "[object Number]"
console.log(Object.prototype.toString.call(true)); // 输出: "[object Boolean]"
console.log(Object.prototype.toString.call([])); // 输出: "[object Array]"
console.log(Object.prototype.toString.call({})); // 输出: "[object Object]"
console.log(Object.prototype.toString.call(null)); // 输出: "[object Null]"
console.log(Object.prototype.toString.call(undefined)); // 输出: "[object Undefined]"

通过这种方式,我们可以准确地检测出不同的数据类型,包括字符串、数字、布尔值、数组、对象、null和undefined等。

需要注意的是,Object.prototype.toString.call()方法对于自定义的对象可能会返回"[object Object]",因为它本质上是获取对象的原型的字符串表示。如果想要准确判断自定义对象的类型,可以通过其他方式,例如typeof操作符或者instanceof关键字。

  1. typeof操作符:

    • typeof undefined 返回 “undefined”

    • typeof null 返回 “object”

    • typeof true 返回 “boolean”

    • typeof 123 返回 “number”

    • typeof "Hello" 返回 “string”

    • typeof {} 返回 “object”

    • typeof [] 返回 “object”

    • typeof function() {} 返回 “function”

    • typeof new Date() 返回 “object”

      需要注意的是typeof对于函数和普通对象都返回 “object”,无法区分它们。如果需要更准确地检测数据类型,可以使用 instanceof操作符或其他更具体的类型检测方法。

      instanceof操作符是JavaScript中用于判断一个对象是否是某个特定类(构造函数)的实例的方法。它的语法如下:

            object instanceof constructor
    
  2. 其他数据类型检测方法:

    • Array.isArray():用于检测一个值是否为数组类型。
    • Number.isNaN():用于检测一个值是否为 NaN(非数字)。
    • Number.isFinite():用于检测一个值是否为有限数。
    • Object.prototype.toString.call():返回一个表示值的具体类型的字符串,用于更准确地检测对象类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值