gpt4 book ai didi

function - 调用嵌套命名空间函数javascript

转载 作者:行者123 更新时间:2023-12-04 17:02:41 25 4
gpt4 key购买 nike

var namespace = {
test: function() {
//sample 1
function nest(param) {
console.log('a '+ param);
}
//sample 2
this.nest = function(param) {
console.log('b '+ param);
}
}
}

谁能解释一下如何调用和访问嵌套函数?提前致谢!

最佳答案

您正在定义 nest test范围内的功能并且只能在 test 内访问. this.nest函数是根据您的 test 的上下文定义的函数是 namespace多变的。这使得该版本的 nest可在 test 外访问函数,即使您在函数体内定义它。

将您的代码更改为此,您将看到不同的控制台输出;

var namespace = {
test: function() {
//sample 1
function nest(param) {
console.log('a '+ param);
}

nest('sample 1');

//sample 2
this.nest = function(param) {
console.log('b '+ param);
}

this.nest('sample 2');
}
}
namespace.test();
namespace.nest('sample 3');

这将产生以下输出;
a sample 1
b sample 2
b sample 3

一些建议阅读范围和背景; Understanding Scope and Context in JavaScript

关于function - 调用嵌套命名空间函数javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35447079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com