zoukankan      html  css  js  c++  java
  • 函数声明和函数表达式的区别

    函数表达式和函数声明的区别##

               /*              
                      同一作用域下的函数声明会提升, 所以可以在函数声明的位置前面调用函数
                      函数表达式则不能
                */
             sayHello(); // 可以运行
             console.log(sayHello.toString());
             // sayHi(); // 报错
             function sayHello() {
                   console.log("hello");
             }
    
             var sayHi = function() {
                   console.log("hi");
             }
    
             var Greet = function() {
                   greet();
                   console.log(greet.toString());
    
                   function greet() {
                         console.log('greet Statement');
                   }
                   var greet = function() {
                         console.log("greet Expression");
                   }
             }
             Greet();
    

    特殊情况##

             /*
                   *条件式函数声明跟函数表达式的处理方式一样。因此,条件式函数声明丧失了函数声明提升的特性*      
             */
             // statement(); //Uncaught TypeError: statement is not a function
             if (true) {
                   function statement() {
                         console.log("statement");
                   }
             } else {
                   function statement() {
                         console.log("statement2");
                   }
             }
             statement();
    
  • 相关阅读:
    软件工程基础
    第一个微信小项目
    数据库实践
    爬虫
    模拟体育竞技
    自己的第一个网页
    科学计算和可视化
    结队项目
    自动生成小学四则运算
    自动生成小学四则运算
  • 原文地址:https://www.cnblogs.com/mushishi/p/5801996.html
Copyright © 2011-2022 走看看