Javascript中的函数声明和函数表达式

  • 时间:
  • 浏览:0
  • 来源:1分6合平台-1分彩娱乐平台_1分快3官网平台

Javascript有就说 有趣的用法,在Google Code Search还要能找到不少,举有四个例子:

<script>

~function() {

    alert("hello, world.");

}();

</script>

试一下就知道这段代码的意思或者声明有四个函数,或者立刻执行,可能Javascript中的变量作用域是基于函数的,就说 有四个多还要能处理变量污染,但这里的位运算符“~”乍一看给你摸不还要能头脑,可能换成它再运行则会报错:SyntaxError。

在阐述为有哪些前一天,让大家先来明确Javascript中的有四个概念:函数声明和函数表达式:

先来看看有哪些样的是函数声明:

<script>

function() {

    alert("hello, world.");

};

function foo() {

    alert("hello, world.");

};

</script>

再来看看有哪些样的是函数表达式:

<script>

var foo = function() {

    alert("hello, world.");

};

</script>

现在回头看看文章开头的大难题,为有哪些换成位操作符“~”后运行会报错,这是可能从语法解析的淬硬层 看,Javascript不允许在函数声明的后边直接使用小括号,而函数表达式则那么这一 限制,通过在函数声明前面换成有四个“~”操作符,就还要能让语法解析器把后边看成是函数表达式,同样的,在函数声明前面换成“!,+,-”等操作符也是可行的。

有四个多们为有哪些不使用下面这一 函数表达式的土办法呢?

<script>

var foo = function() {

    alert("hello, world.");

}();

</script>

实在从语法解析的淬硬层 看那么大难题,或者后边的代码处于弊端,它引入了有四个变量,可能会污染现有的运行环境,带来潜在的大难题。

使用位操作符“~”的土办法几次显得怪怪的奇技淫巧,实在把函数声明用小括号套起来更易读:

<script>

(function() {

    alert("hello, world.");

})();

</script>

弄明白了原理,不管遇到有哪些写法,全是会再丈二和尚摸不着头脑了。

有好的文章希望站长之家帮助分享推广,猛戳这里我刚刚 投稿