Javascript 我想更改变量的值';内部';从闭包外部,但我的输出似乎未定义

Javascript 我想更改变量的值';内部';从闭包外部,但我的输出似乎未定义,javascript,closures,Javascript,Closures,我编写了这段代码,试图从闭包外部更改变量'inner'的值。输出未定义,我想知道为什么 函数欢迎(名称){ var internal=“to” 函数innerF(位置){ let hi=“helo” 让text=hi++++name++“欢迎”+内部+位置 返回文本 } 函数sayHi(){ 返回“abc” } 函数集合名(newName){ 内部=新名称; } 返回{ 第一:f,, 第二个:sayHi, 第三:设置名称 } } var result=welcome('arpit') cons

我编写了这段代码,试图从闭包外部更改变量'inner'的值。输出未定义,我想知道为什么

函数欢迎(名称){
var internal=“to”
函数innerF(位置){
let hi=“helo”
让text=hi++++name++“欢迎”+内部+位置
返回文本
}
函数sayHi(){
返回“abc”
}
函数集合名(newName){
内部=新名称;
}
返回{
第一:f,,
第二个:sayHi,
第三:设置名称
}
}
var result=welcome('arpit')
console.log('>>',result.first('ktm'))

console.log(“>>”,result.third('hari'))
您没有在
setName()函数中返回值

函数欢迎(名称){
var internal=“to”
函数innerF(位置){
let hi=“helo”
让text=hi++++name++“欢迎”+内部+位置
返回文本
}
函数sayHi(){
返回“abc”
}
函数集合名(newName){
返回inner=newName;
}
返回{
第一:f,,
第二个:sayHi,
第三:设置名称
}
}
var result=welcome('arpit')
console.log('>>',result.first('ktm'))
console.log(“>>”,result.third('hari'))