Javascript jQuery";返回{foo:bar,foo2:bar2}";-这是怎么一回事?

Javascript jQuery";返回{foo:bar,foo2:bar2}";-这是怎么一回事?,javascript,jquery,Javascript,Jquery,我试图自学jQuery/Javascript,我正在学习,我不确定avgrund.js中返回语句的确切用途 它的功能像某种伪类吗?在Avgrund的index.html函数中,定义如下:var Avgrund=(function(){…似乎被称为return语句/函数的my members或任何已命名的技术名称 这: 这只是一种限制如何调用function\u name的方法吗?因此,我只能调用function\u name.[activate/deactivate/disableBlur/sh

我试图自学jQuery/Javascript,我正在学习,我不确定
avgrund.js
中返回语句的确切用途

它的功能像某种伪类吗?在Avgrund的
index.html
函数中,定义如下:
var Avgrund=(function(){…
似乎被称为return语句/函数的my members或任何已命名的技术名称

这:

这只是一种限制如何调用
function\u name
的方法吗?因此,我只能调用
function\u name.[activate/deactivate/disableBlur/show/hide]

冒号后面是要调用的函数名吗?例如

method:lemon
。如果我调用
Avgrund.method()
它将调用函数
lemon

总的来说,我正在寻找这个返回语法的解释,我在这里的路径正确吗


这种类型的结构叫什么,这样我就可以在Coffeescript中复制它?

返回值是一个对象

function fun() {
   return {
     activate: activate,
     deactivate: deactivate,
     disableBlur: disableBlur,
     show: show,
     hide: hide
  }
}

var obj = fun();
console.log(obj['deactivate']); //obj.deactivate

返回值是一个对象

function fun() {
   return {
     activate: activate,
     deactivate: deactivate,
     disableBlur: disableBlur,
     show: show,
     hide: hide
  }
}

var obj = fun();
console.log(obj['deactivate']); //obj.deactivate

这基本上是在JS中创建对象的简写。这是:

return {
    activate: activate,
    deactivate: deactivate,
    disableBlur: disableBlur,
    show: show,
    hide: hide
}
相当于:

var x = new Object();
x.activate = activate;
x.deactivate = deactivate;
x.disableBlur = disableBlur;
x.show = show;
x.hide = hide;

return x;

此调用:
var x={}
var x=new Object()

这基本上是在JS中创建对象的简写。这是:

return {
    activate: activate,
    deactivate: deactivate,
    disableBlur: disableBlur,
    show: show,
    hide: hide
}
相当于:

var x = new Object();
x.activate = activate;
x.deactivate = deactivate;
x.disableBlur = disableBlur;
x.show = show;
x.hide = hide;

return x;

此调用:
var x={}
var x=new Object()相同。

如前所述,它返回一个对象

在本例中,您可以将函数和变量封装在
Test
中。通过返回对象文本,您基本上可以控制允许最终用户调用的内容

var Test = (function() {
  var test = function() {
    console.log("hello thar.");
  };
  var test2 = function() {
    console.log("nope");
  };
  return {
    test: test
  };
})();
Test.test();
Test.test2(); // syntax error

如前所述,它返回一个对象

在本例中,您可以将函数和变量封装在
Test
中。通过返回对象文本,您基本上可以控制允许最终用户调用的内容

var Test = (function() {
  var test = function() {
    console.log("hello thar.");
  };
  var test2 = function() {
    console.log("nope");
  };
  return {
    test: test
  };
})();
Test.test();
Test.test2(); // syntax error

您走的是正确的道路;这被称为显示模块模式


还有Addy Osmani关于设计模式的书。这是一个很好的资源。

你走的是正确的道路;它被称为揭示模块模式


还有Addy Osmani关于设计模式的书。这是一个很好的资源。

阅读JavaScript模式-


您所指的似乎是揭示模块模式。

阅读JavaScript模式-


您所指的似乎是显示模块模式。

在javascript中,您可以创建匿名对象。在javascript中,对象实际上是关联数组

因此,基本上,如果您想在JavaScript中创建对象,以下方法之一是:

var obj = {};
因此,您提供的代码意味着您正试图返回一个对象,“激活”、“停用”。这是该对象的属性。

请阅读这篇文章,你会有更好的想法


在javascript中,您可以创建匿名对象。在javascript中,对象实际上是关联数组

因此,基本上,如果您想在JavaScript中创建对象,以下方法之一是:

var obj = {};
因此,您提供的代码意味着您正试图返回一个对象,“激活”、“停用”。这是该对象的属性。

请阅读这篇文章,你会有更好的想法


第一部分是变量声明
var Avgrund
,它被设置为立即调用的“IIFE”函数,您可能会听到它也被称为“自调用函数”,这是同一事物的不同短语在您显示的函数中,它将返回对象
{}
稍后将详细介绍该对象

Javascript中立即调用函数的标志是,在关键字函数之前加上括号()。在该函数的末尾,您会注意到一对括号“()”,它告诉Javascript立即运行该函数

“iLife”返回一个对象。在javascript中,对象由一组用逗号分隔的
key:value
对表示,用大括号括起来
{}
。因此
var emptyObject={}
是一个空对象

在其他语言中,他们称之为散列、映射、关联数组和字典,但本质上都是
key:value
对的集合

 return {
   activate: activate,
   deactivate: deactivate,
   disableBlur: disableBlur,
   show: show,
   hide: hide
 }

在源代码中,您有一些函数,例如activate,这些函数包含在“iLife”的功能范围内,因此返回的对象所做的是公开这些函数供您使用。因此
show:show
例如,当时没有调用函数,其符号是no
()
在函数名之后,它只是说hey the show value here memory
key:value
是一个函数。因此,在代码中的其他地方,您将调用它并调用它
Avgrund.show(…)
,就像在HTML中那样。

第一部分是变量声明
var Avgrund
,设置为所谓的“iLife”“立即调用的函数,您可能会听到它也被称为“自调用函数”,这是同一事物的不同短语。以下是“iLife”
(Function(){…})(;
在您显示的函数中的语法,稍后将返回该函数并对该对象进行详细说明

Javascript中立即调用函数的标志是,在关键字函数之前加上括号()。在该函数的末尾,您会注意到一对括号“()”,它告诉Javascript立即运行该函数

“iLife”返回一个对象。在javascript中,对象由一组用逗号分隔的
key:value
对表示
avg.print() // disableBlur called