JavaScript变量有几种类型


本文摘自PHP中文网,作者青灯夜游,侵删。

JavaScript变量有9种类型:1、string类型;2、number类型;3、boolean类型;4、null类型;5、undefined类型;6、Object类型;7、Array类型;8、Function类型;9、Symbol类型。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript中的变量类型有哪些?

  • 值类型:字符串(string)、数值(number)、布尔值(boolean)、null、undefined

  • 引用类型:对象(Object)、数组(Array)、函数(Function)

  • ES6 引入了一种新的原始数据类型:Symbol,表示独一无二的值。

值类型和引用类型的区别

值类型:

  • 占用空间固定,保存在栈中(当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁了。因此,所有在方法中定义的变量都是放在栈内存中的;栈中存储的是基础变量以及一些对象的引用变量,基础变量的值是存储在栈中,而引用变量存储在栈中的是指向堆中的数组或者对象的地址,这就是为何修改引用类型总会影响到其他指向这个地址的引用变量。

  • 保存与复制的是值本身

  • 使用typeof检测数据的类型

  • 基本类型数据是值类型

引用类型:

  • 占用空间不固定,保存在堆中(当我们在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随方法的结束而销毁,即使方法结束后,这个对象还可能被另一个引用变量所引用(方法的参数传递时很常见),则这个对象依然不会被销毁,只有当一个对象没有任何引用变量引用它时,系统的垃圾回收机制才会在核实的时候回收它。

  • 保存与复制的是指向对象的一个指针

  • 使用instanceof检测数据类型

  • 使用new()方法构造出的对象是引用型

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

// 值类型:Number、string、bollean、undefined

var a = 100

var b = a

a = 200

console.log(b) // 100

  

  

// 引用类型:对象、数组、函数、null(空指针)

// 可以扩展属性

var a = {age:20}

var b = a

b.age = 21

console.log(a.age) // 21

  

typeof undefined // undefined

typeof 'abc' // string

typeof 123 // number

typeof true // boolean

// typeof 区分不出来引用类型(除了函数)

typeof {} // object

typeof [] // object

typeof null // object

typeof console.log //function

【推荐学习:javascript高级教程

以上就是JavaScript变量有几种类型的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

js中eval函数有什么用

详解javascript中逻辑运算符

js代码中加分号和不加分号的区别

javascript如何修改文件内容

vue和javascript的区别是什么

javascript字符串转换成utf-8编码方式有哪些

servlet中定义的变量如何传给javascript函数

学js需要什么基础?

canvas中普通动效与粒子动效的实现 方法介绍(代码示例)

js中如何使用padstart()和padend()格式化字符串?(小技巧)

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...