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

     <script>
    ~function() {
        alert("第一种方式,使用特殊符号的奇淫技巧。");
    }();//第一种写法
    </script>
     <script>
    var foo = function() {
        alert("第二种方式");
    }();//第二种写法【不建议如此书写】
    </script>
      <pre>
      1.函数声明和函数表达式的区别,将函数赋值到一个变量名上就可以使其成为函数表单式
        function sum(a,b){alert(a+b);}-----函数声明
        var m=function sum(a,b){alert(a+b);}------函数表达式
      2.为什么去掉位操作符『~』后运行会报错,这是因为从语法解析的角度看,Javascript不允许在函数声明的后面直接使用小括号,
        而函数表达式则没有这个限制,通过在函数声明前面加上一个『~』操作符,就可以让语法解析器把后面看成是函数表达式,
        同样的,在函数声明前面加上『!,+,-』等操作符也是可行的。
      3.为什么不建议‘第二种写法’?
        虽然从语法解析的角度看没有问题,但是上面的代码存在弊端,它引入了一个变量,可能会污染现有的运行环境,带来潜在的问题。
        使用位操作符“~”的方法多少显得有点奇技淫巧,其实把函数声明用小括号套起来更易读【即第三种书写方式】
      4,第三种方式便于理解,即由alert('第三种方式便于理解'),书写为
         (alert)('第三种方式便于理解')

    <script>
    (function() {
        alert("第三种方式便于理解");
    })();//第三种写法
    </script>
      </pre>
  • 相关阅读:
    使用xorm将结构体转为sql文件
    Java反射之方法反射demo
    Java操作Redis小案例
    Java中static修饰类的问题
    static、final修饰的变量和方法能否被继承的问题
    小学生算术
    另一种阶乘问题
    整除个数
    兰州烧饼
    对决
  • 原文地址:https://www.cnblogs.com/yuzhongwusan/p/2280730.html
Copyright © 2011-2022 走看看