JavaScript 高级编程-创建对象

Javascript真是门非常独特的动态语言,整体设计都是基于作用域链的,就这点它就和与其它语言有巨大的差别,在Javascript中Function即对象,没有像其它语言一样有类和继承的概念,但在ES6中出现的新语法就有class的等OOP风格语法

字面量

// 字面量
var Person = {  
    name: "freax",
    age: 23,
    say: function () {
        console.info(this.name);
    }
};

new 构造函数

var o = new Object();  
var array = new  Array();  

原型

//code

Obejct.create()

继承某个对象的属性和方法

var o1 = Object.create({age:'',sayName: function () {       //o1继承age属性和sayName 方法  
    console.info(this.name);
}});

不继承任何属性和方法,即创建一个空对像

var o2 = Object.create(null);  

继承原型,和直接量{},new Object()一样

var o3 = Object.create(Object.prototype);  

Object.create 和new 构造函数,{} 不同之处在于Object.create 方法可以继承任意对象

你的欣赏是我最大的动力

Yanxiong Huang

My name is Yanxiong Huang. graduated from Nanyang middle school.Love Linux,familiar with Node.js,Docker,Serverless... and more Web technology.Contact Me:QQ 31356617;Email:huangaynxiong2013@gmail.com

guangzhou,china http://www.myfreax.com

乐在分享