javascript - 在 JavaScript 中,这种对变量进行赋值的函数有用吗?

标签 javascript function object

我正在看书。 Javascript,Douglas Crokford 的精彩部分。书中提供了示例,但我无法理解这些示例在实践中在何处以及如何有用。为了简单起见,我修改了这里的代码。 这里有两种方法,我可以对变量进行函数赋值。

示例1:

var test= function(ex) {
    alert(ex);
};
test(5);

这会产生值为 5 的警报框

示例2:

var test1 = function test2(ex) {
    alert(ex);
};
test1(7); //this produces alert box with value of 7
test2(8)//this does not give a alert box

我已经定义了函数 test2 但将其分配给 test1。为什么我不能通过调用test2(8)直接访问test2。 此外,我认为示例 2 相对于示例 1 没有任何大的优势。如果有一些差异,并且其中一个更优越,我很想听听。

谢谢

最佳答案

var test1 = function test2(ex) {
    console.log(test2);
};

为函数命名使其能够从其主体内引用自身。

test2 仅对 test2 及其子作用域(函数)(如果有)可见。

关于javascript - 在 JavaScript 中,这种对变量进行赋值的函数有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17159110/

相关文章:

function - GHCi 中的非详尽功能模式

javascript - 如何在 JavaScript 中获取单词或索引后的子字符串?

c++ - 如何让对象在 vector 中老化?

javascript - 在下拉列表的更改时显示模式表单

javascript - 使用验证插件 jquery 验证输入数组 - 显示每个输入的错误

C 函数内的 block ?

c++ - 如何让我的 strchr 函数将 'const char' 和 'char' 数组作为第一个参数?

javascript - 背景颜色变化出现意外延迟

javascript - PHP JavaScript HTML 问题

java - 创建多个java对象/清理项目