zoukankan      html  css  js  c++  java
  • 函数声明提前

    函数声明、函数表达式

    • 函数声明会提前,而函数表达式是在运行时进行赋值。
    • 函数会首先被提升,然后才是变量。也就是说,同一作用域下提前,函数会在更前面。
    • 【注】 相同的变量名声明会被直接忽略,所以下方 函数声明不论放在哪里,第一个 Foo()都输出 1
    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");
    };
    
  • 相关阅读:
    github添加ssh
    包围盒的计算以及物体移动到世界坐标中心
    123
    mysql
    建站步骤
    深度遍历和广度遍历
    Js特殊字符转义之htmlEscape()方法
    参数命名风格转换
    http 206
    js 实现快速排序
  • 原文地址:https://www.cnblogs.com/pengnima/p/13051298.html
Copyright © 2011-2022 走看看