几种方式创建对象:
object
工厂
构造函数
混合模式
拷贝模式
字面量
prototype
引用类型和值类型区别
内存分配机制不一样
引用类型—创建一个变量—内存中保存的是变量真实入口的地址
值类型:创建一个变量,内存创建一个区域
说白了就是引用类型会分配两个区域:一个保存地址,一个保存内容
变量赋值是否的区别
将一个值类型赋值给另一个变量,实际上新创建一个区域
引用类型,只是创建一个区域,保存另一个变量的入口地址
function show(x) {
console.log(typeof(x)); // undefined 值类型
console.log(typeof(10)); // number 值类型
console.log(typeof(‘abc’)); // string 值类型
console.log(typeof(true)); // Boolean 值类型
console.log(typeof(function () { })); //函数 引用类型
console.log(typeof([1, ‘a’, true]));//数组 引用类型
console.log(typeof ({ a: 10, b: 20 })); //object 或者json 引用类型
console.log(typeof (null)); //null 引用类型
console.log(typeof (new Number(10))); //内置对象 引用类型 Var na;
} show();
其中上面的四种(undefined, number, string, boolean)属于值类型,不是对象。 函数、数组、对象、null、new Number(10)都是对象。他们都是引用类型。