理解:JS中的基础类型和引用类型

ECMAScript 中包含两种不同的数据类型:基本类型引用类型

基本类型包括:Undefined,Null,Boolean,Number,String

引用类型包括:Object,Array,Function,Date 等

 

理清一些容易混淆的地方:

1. 无论基本类型,还是引用类型,都是类型,都是虚的。就像 Undefined 类型的值是 undefined,它才具有实际意义,用应用价值

2. Object 类型和其构造函数 Object() ,容易使人产生一种想法:它们是有联系的。然而,并没有联系!Object() 只是 Object引用类型的构造函数!此外, Object 引用类型有两种创建实例的方式,Object() 构造函数和对象字面量表示法:

var person = new Object();
person.name = "abc";
person.age = 123;
var person = {
  name: "abc",
  age: 123
}

再次强调一遍,不要认为 Object() 构造函数是 Object 引用类型 + () 构成的!

 

下面讲一下 Function

在 ECMAScript 中,每个函数都是对象都是 Function 类型的实例 

既然是对象,函数就会有属性和方法

函数属性: length 和 prototype

函数方法: apply( ) 和 call( ) 

函数内部属性: arguments 和 this (函数体内调用)

三种定义函数的方式:

function sum(num1, num2) { // 函数声明语法
  return num1 + num2;
}
var sum = function(num1, num2) { // 函数表达式语法
  return num1 + num2;
}
var sum = new Function("num1","num2","return num1 + num2"); // Function构造函数

第三种语法,对于理解“函数是对象,函数名是指针”是非常直观的!

你可能感兴趣的:(理解:JS中的基础类型和引用类型)