当前位置:首页 » 编程软件 » js匿名函数的预编译

js匿名函数的预编译

发布时间: 2023-02-11 00:18:31

㈠ JavaScript 匿名函数有哪几种执行方式

JavaScript的函数定义分为函数声明和函数表达式。

表达式语句不得以 function 或者 { 开头:
ExpressionStatement → [lookahead ∉ {{, function}] Expression;

”裸写“成function fname() { }的,是函数声明,它不能是匿名的。
var c = 1;
function test(x) {
console.log(x);
}
// 调用
test(x);
嵌套定义的函数也可以是函数声明。
// innder、outer都是函数声明,只不过外界无法使用inner函数。。
function outer() {
var x = 1;
function inner() {
console.log("Hi");
}
}

函数作为表达式出现、或者作为其他表达式的一部分时才是函数表达式(有点绕。。),此时函数可以是匿名或者有名的。

比如赋值表达式的右边;()和[]里面;!等符号后面;return语句后面;。。
var foo = function() {
...
};

(function foo() {});

[Function bar() {}];

function outer() {
var x = 1;
return function inner() {
console.log(x);
}
}

描述不同语法结构的语义时,主要和表达式的求值相关。比如赋值的时候需要对=右边的表达式求值,return的时候需要对return后面的求值。

函数表达式的值可以是一个函数对象,或者对这个函数对象进行调用(也就是执行它)产生的结果。

// =右边表达式的”值“是一个函数对象,赋给t。不发生函数调用
var t = function () {
console.log(3);
};

// =右边表达式,先创建函数对象再调用它。t是5
var t = function (x) {
return x + 2;
}(3);
函数声明自身不能“求值”。

㈡ js 中对象与匿名函数的问题

js中apply()方法是函数的一个属性point.getX().apply() 这么用的时候,getX() 这是一个执行的函数,返回值是一个数字
p.apply(),p是一个函数

正确写法应该是point.getX.apply()

㈢ 【JS】匿名函数

本节讲解 3 种原生JS的匿名函数。

匿名函数又叫立即执行函数。

因为是匿名的,所以不能被调用。

因为不能被调用,所以不立即执行的话就没意义了。

因为立即执行,所以在执行完之后就会被销毁。

第一种(常用)
( function(){…} )()

第二种(常用)
( function(){…}() )

第三种(不常用)
~function(){…}()

前两种写法,返回值都是正常的。

第三种写法的返回值会比较奇怪,所以很少用。

第一种写法

在控制台输出 1

第二种写法

在控制台输出 2

第三种写法

在控制台输出 -4

在控制台输出2

假设第三种写法的返回值是未知数 x。
则得到的返回值是:-(x + 1)

㈣ js中匿名函数问题

首先大的结构式一个匿名函数,匿名函数其中的一种形式就是这样,之所以用括号包起来并且在最后加一个括号是为了调用这个匿名函数。形式如下:
(function(){
......
})();
这样写的好处是里边的变量都是封闭的,不对外开放,减少了全局变量带来的混乱。
详细的你可以查一下匿名函数和闭包

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:749
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1012
python中的init方法 发布:2025-10-20 08:17:33 浏览:718
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:878
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:774
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1127
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:351
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:229
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:911
python股票数据获取 发布:2025-10-20 07:39:44 浏览:875