本篇文章给大家带来的内容是关于js基本语法的介绍:数据类型以及变量类型,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、不可改变的原始值(栈数据)(五个)
数字(number),字符串(string),布尔值(boolean),undefined,null
其中;undefined是未定义的意思,而null是空的意思,他们俩的区别在于,null有值,不过这个值是空值,而undefined是未定义,完全没有值的意思。null一般用作占位。
var a = 4; var b = a; a = 10; console.log(b);//4//原始值是把一个值a放到另一个值b里面,改了第一个值a,第二个之值b不变
二、引用值(堆数据)
数组(array),对象(object),函数(function)
注意:只要对变量进行赋值就会进行内存的重新申请
var arr = [1, 2]; var arr1=arr; arr.push(3); console.log(arr1); //[1, 2, 3] //引用值时把第一个值放到第二个值里面,改变第一个值,第二个值也改变 //引用值是在栈内存里面存放堆的地址,拷贝的是地址,所以改变了arr,实际上是改变了arr指向的地址内存放的内容,而arr和arr1指向同一个地址,故arr1也跟着变
地址 |
变量 |
存储值 |
|||||||||||||||||||||
0x0001 |
arr |
[1,2] [1,2,3] e6f59dd8778be6d10fd094c2019e73c7{m:1} b: {0x0001}--->{n:0x0004}---->{ n:0x0005}---->{n:{m:0x0006}}--->{n:{m:1}}
var a = {n:1}; var b = a; a={m:1};//a重新赋值,换了一个房间,b仍然指向原来的房间(地址) a.n =a; console.log(a);//{m:1,n:{m:1,n:{..}}}//一直循环 console.log(b);//{n:1} 相关推荐: |
以上是js基本语法的介绍:数据类型以及变量类型的详细内容。更多信息请关注PHP中文网其他相关文章!