JS之六⼤引⽤类型
⼀、js有六种数据类型,包括五种基本数据类型,和⼀种复杂数据类型,typeof关键字⽤来检测当前变量的数据类型⽅法。
1.Number
2.String
3.Boolean
4.Undefined
5.Null
6.Object
三⼤引⽤类型:1.object  2.Array类型  3.Function类型
object类型:(1)创建object实例,跟着new操作符(2).使⽤对象字⾯量
//object实例
var person = new Object();
person.name = 'micheal';
person.age = 24;
// 使⽤对象字⾯量表⽰法。
var person = {
  name:'micheal',
  age:24
}
2.Array类型
数组的每⼀项可以⽤来保存任何类型的数据,也就是说,可以⽤数组的第⼀个位置来保存字符串,第⼆个位置保存数值,第三个位置保存对象....另外,数组的⼤⼩是可以动态调整的。
创建数组的基本⽅式有两种
第⼀种是使⽤Array构造函数,如下所⽰
var colors = new Array("red","blue","yellow");
第⼆种是使⽤数组字⾯量表⽰法,如下所⽰
var colors = ["red","blue","yellow"];js的基本数据类型
3.Function类型
每个函数都是Function类型的实例,⽽且都与其他引⽤类型⼀样具有属性和⽅法。函数通常是使⽤函数声明语法定义的
function sum(num1,num2){
  return num1 + num2;
};
这和使⽤函数表达式定义函数的⽅式相差⽆⼏。
var sun = function (){
  return sum1 + sum2;
};
也就是说js按照存储⽅式分为值类型和引⽤类型。那它们计算有什么区别呢?
题⽬1: var a = 100;
    var b = a;
      a = 200;
    console.log (b);        //100
题⽬2: var a = {age : 20};
    var b = a;
    b.age = 21;
    console.log (a.age);  //21
题1:是简单的值类型,在从⼀个变量向另⼀个变量赋值基本类型时,会在该变量上创建⼀个新的值,然后再把该值复制到为新的变量位置上,此时a中保存的值为100,当使⽤a来初始化b时,b中保存的值为100,但b中的100与a中的是完全独⽴的,该值只是a中值的⼀个副本、。
题2:从⼀个变量向另⼀个变量赋值引⽤类型的值时,同样也会将存储在变量中的对象的值复制⼀份放到新变量中。这时保存在变量中的第对象在堆内存中,所以和简单的赋值不同,这个值其实就是⼀个指针指向两个变量都保存了同⼀个对象地址,则这两个变量指向同⼀个对象

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。