我试图理解我发现的一些代码:
var myApplication = function(){ var name = 'Chris'; var age = '34'; var status = 'single'; function createMember(){ // [...] } function getMemberDetails(){ // [...] } return{ create:createMember, get:getMemberDetails } }(); //myApplication.get() and myApplication.create() now work.
我不理解返回的语法及其工作原理。我发现的解释与指针有关,但我真的不明白它在说什么。有人可以向我解释一下吗?
答案 0 :(得分:2)
此语句返回myApplication函数
中作用域的功能return {
create:createMember,
get:getMemberDetails
}
它的工作原理是因为您通过对象公开引用createMember
和getMemberDetails
。
修改强>
另外,myApplication是调用函数的结果,在声明时立即调用它,这要归功于以下语法
(function myFunction() {
// some code
}())
答案 1 :(得分:1)
myApplication
收到函数执行的返回。这个回报是一个对象。
该对象有两个属性:create
和get
。
create
(以及get
)属性的值是一个函数,之前在myApplication
的本地范围中定义。
当您致电myApplication.get()
时,您正在执行该功能。