JavaScript数据类型

js是弱类型语言,声明变量的时候并不能确定类型,只能赋值了才能确定类型

  1. 数字类型(number)

JavaScript 中的正数、负数、小数等 统一称为 数字类型。

let score = 100 //正整数

let num = 08  /  0xA //八进制  /  十六进制

MAX_VALUE 数值最大值 Number.MAX_VALUE

MIN_VALUE 数值最小值

Infinity 代表无穷大 console控制台可以看

-infinity 代表无穷小

NaN 代表一个非数值

isNaN() 判断非数字,并且返回一个值,如果是数字返回false,如果不是数字返回true

注意点:

JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认

Java是强数据类型   例如  int  a = 3    必须是整数

  1. 字符串类型(string)

通过单引号(' ') 、双引号(" ")或反引号( ` )包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。

document.write(我是+str+刘德华)

2.1 可以通过length来获取字符串的长度,如str.length

2.2 拼接字符串和变量: +是连接符

字符串 + 如何类型 =拼接好的字符串 console.log(‘字符串’ + 变量 + 字符串)

2.3 模板字符串:${变量 | 表达式}

会解析变量和表达式,替换这个结构; ``还可以创建多行文本

document.write(`大家好,我叫${name} , 今年${age}岁`) //在引号里面的变量

2.4 转义字符:

\b (退格符) \t(水平制表符) \n(换行符) \v(垂直制表符)

\f(换页符) \r(回车符)   \(双引号) \(单引号) \\(反斜杠符)

注意事项:

1. 无论单引号或是双引号必须成对使用

2. 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)

3. 必要时可以使用转义符 \,输出单引号或双引号

4. 拼接字符串${name}时候,需要写在反引号``里面

  1. 布尔类型(boolean)

表示肯定或否定时在计算机中对应的是布尔类型数据。

它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。

  1. 未定义类型(undefined)

未定义是比较特殊的类型,只有一个值 undefined。

什么情况出现未定义类型?

只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。

后期有一个经典场景,就是调用方法时没有传递参数,造成方法的参数是undefined

情况

说明

结果

let  age ; console.log (age)

只声明 不赋值

undefined

console.log(age) 

不声明 不赋值 直接使用 

报错

age  = 10; console.log (age)

不声明 只赋值

10 (不提倡)

  1. null(空类型) 是boject类型

null 表示 值为 空

let age = null

null 和 undefined 区别:

undefined  表示没有赋值

null 表示赋值了,但是内容为空

null 开发中的使用场景:

官方解释:把 null 作为尚未创建的对象

大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null

null的场景只有一个:为引用类型设置初始值

  1. 控制台输出语句和检测数据类型

6.1 控制台输出语句:

let age = 18

let name = 刘德华

let bool = true

console.log(age)

console.log(name)

console.log(bool)

控制台语句经常用于测试结果来使用。 可以看出数字型和布尔型颜色为蓝色,字符串和undefined颜色为灰色

6.2 typeof检测类型:
console.log(typeof age)

console.log(typeof name)

  1. 类型转换:

注意事项:使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。

7.1 隐式转换

某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

规则:

+ 号两边只要有一个是字符串,都会把另外一个转成字符串

除了+以外的算术运算符 比如 -  *  /  等都会把数据转成数字类型

缺点:

转换类型不明确,靠经验才能总结

小技巧:+号作为正号解析可以转换成Number

console.log(11+11) 22

console.log(11+11) 1111

console.log(11-11) 0

console.log(typeof 123) string

console.log(typeof +123) number

console.log(+11 + 11) 22

+prompt(‘’) 前面加+可以转换数值类型

7.2 显式转换

JavaScript提供了三个方法实现基本数据类型之间的转换:

String():将其他类型的值转换为字符串。例如,String(123)将数值123转换为字符串“123”。

Number():将其他类型的值转换为数值型数据。例如,Number(false)可以将布尔型直接量false转换为数值0。 如果转换时候发现非数值,则返回NaN

parseInt(): 将字符串转换为整数

n=parseInt(123abc);

n=parseInt(123abc,8); //作为八进制转换

parseFloat():将字符串转换为浮点数

n=parseFloat(123abc);

Boolean():将其他类型的值转换为布尔型值。除0、NaN、null、undefined、“”(空字符串)被转换为false外,所有其他值都被转换为true。

eval(): 计算字符串表达式或语句的值

n=eval(8*2);

运算符

说明

? :

三目条件运算符,例如x?a:b表示如果x为真,则整个表达式的值为a的值,否则为b的值

,

逗号运算符,计算两个表达式的值,并返回第二个表达式的值。

delete

用于删除对象并释放该对象所占用的空间

typeof

用于返回操作数的数据类型  typeof(str) / typeof str  //判断是什么数据类型

void

运算符对表达式求值,并返回 undefined

instanceof

判断对象是否是指定的对象类型

new

用于创建用户自定义对象实例

in

判断指定属性是否是对象的属性。当指定属性是对象的属性时返回真,否则返回假

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值