felix-cao / Blog

A little progress a day makes you a big success!
31 stars 4 forks source link

JavaScript 函数的三种角色 #44

Open felix-cao opened 6 years ago

felix-cao commented 6 years ago

函数在整个 JavaScript 中是最复杂也是最重要的知识,函数既可以调用也可以实例化的,既可以直接执行得到函数的返回值, 也可以通过 new 操作符调用得到一个对象。对于一个函数来说,主要存在三种可能的角色:

function Person() {
  var height = 170;
  this.age = 30
}

// code: s1
var ali = Person(); // undefined

// code: s2
var Jack = new Person();
Person.prototype.getAge = function() {
  console.log(this.age);
}
Jack.height; // undefined
Jack.sex; // undefined

// code: s3
console.log(Person.length);
console.log(Person.name);
console.log(Person.__proto__);