函数声明提前

时间:2020-06-05 19:08:22   收藏:0   阅读:46

函数声明、函数表达式

Foo(); // 1 ,因为函数声明提前了,所以为 1
// 函数声明
function Foo() {
  console.log(1);
}

// 函数表达式 (算是变量声明 Foo,但由于Foo已经声明过了,所以忽略。真正执行时在覆盖)
var Foo = function () {
  console.log(2);
};

Foo(); // 2 ,因为后来被 函数表达式 覆盖了,所以为2

ES5 怎么搞类?

var Person = function (name, age) {
  //实例共有属性
  this.name = name;
  //实例共有方法
  this.sayName = function () {
    console.log(this.name);
  };
  //静态私有属性(只能用于内部调用)
  var home = "China";
  //静态私有方法(只能用于内部调用)
  function sayHome() {
    console.log(home);
  }
  //构造器
  this.setAge = function (age) {
    console.log(age + 12);
  };
  this.setAge(age);
};

//静态方法(只能被类来访问)
Person.sayAge = function () {
  console.log("your age is 12");
};
//静态属性(只能被类来访问)
Person.drink = "water";
//静态共有方法(类和实例都可以访问)
Person.prototype.sayWord = function () {
  console.log("ys is a boy");
};

原文:https://www.cnblogs.com/pengnima/p/13051298.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!