js基础 ------ 基本类型和引用类型

mac2022-06-30  86

    js 种有两种变量类型:基本类型和引用类型。可能会让你联想到“”堆栈“”或者“”指针“”的概念。

一、基本类型

   包括:number、string、boolean、null、undefined           1、基本类型理解:等于又开了一家一模一样的店,之后店内的所有东西和之前的没啥关系;               function stores() {                    var store1 = 'KFC';                    var store2 = store1;                     store1 = 'M';                    console.log(store2); // KFC                };         说明: 把一个基本类型传递给另一个变量时,其实是分配了一块新的内存空间,因此之前的值改变不会影响另一个变量有影响;     2、不能给基本类型添加属性和方法,例如:             var store = 'KFC';                 store.time = '20100212';                 store.method = function(){//...}                 console.log(store.time ) // undefined                 console.log(store.method) //undefined     3、基本类型的比较是值的比较,只有值相等的时候才相等;                var a = 'KFC';                var b = 'KFC';                console.log(a === b); //true  

二、引用类型

        除了上面的几种基本类型外就是引用类型了,如:对象、数组、函数。     1、引用类型理解:同一个店铺有多把钥匙,只要一个人进入了店铺改了里面的东西,另一个人再进去看到的也是改变之后的了。           function stores() {                  var store1 = ['KFC'];                  var store2 = store1;                  console.log(store2[0]); //KFC                  store1[0] = 'M';                  console.log(store2[0]); //M           }   因为引用类型指向的是同一个地址,所有一个改变后另一个也会改变。     2、引用类型的比较是引用的比较           var person1 = {};           var person2 = {};           console.log(person1 == person2); // false   说明:引用类型时按引用访问的,换句话说就是比较两个对象的堆内存中的地址是否相同,那很明显,person1和person2在堆内存中地址是不同的      

转载于:https://www.cnblogs.com/gengcjun/p/6297439.html

最新回复(0)