我是nodejs和javascript的新手,我试图得到这个问题的答案,但在投入大量时间后,我无法在互联网上找到答案。
我现在知道module Str_Plus
def alpha?
self[/[a-zA-Z]+/] == self
end
end
class Pangram
String.include Str_Plus
...
end
和require
正在做什么。我正在分析一些代码,它有以下代码行:
export
因此,我已经了解了var $ = global.jQuery = window.$ = require('jquery');
的导出对象。正如我从这个thread中读到的,代码等于:
'jquery'
我希望这是正确的。如果没有,代码是什么意思?那我的问题是,现在var $ = (global.jQuery = (window.$ = require('jquery')));
包含什么?
答案 0 :(得分:2)
在javascript中,您可以在同一语句中进行多项值分配。
多个=
从右到左进行评估。因此,在您的示例中$
是jQuery
,这是从require
简单的视觉示例:
var obj_1={};
var obj_2={};
// creates properties on both objects and assigns same value to all 3 variables
var someVar = obj_1.a = obj_2.b = 10;
console.log('obj_1', obj_1)
console.log('obj_2', obj_2)
console.log('someVar', someVar)
答案 1 :(得分:1)
$
,global.jQuery
和window.$
中的所有三个都设置为require('jquery')
的返回值。我不完全确定原因是什么。
我在使用对象设置对象属性和短工作变量时使用了这种模式,例如:
this.myMethod = function (value) {
var n = this.someReallyLongPropertyName = value;
// no way am I typing this.someReallyLongPropertyName again!
if (n == 1) return n % n * n + n;
return 0;
}
答案 2 :(得分:1)
var $ = global.jQuery = window.$ = require('jquery');
相当于
window.$ = require('jquery');
global.jQuery = window.$;
var $ = global.jQuery;
根据我的说法,这只是让人们使用jQuery的语法糖,但他们想要这样做($,或者jQuery或jQ等)
答案 3 :(得分:1)
require('jquery')
返回什么
require('jquery')
会返回一个新的jquery
对象,由modules.export
导出,因为您已经熟悉了。与任何Node模块一样,您可以将其分配给您喜欢的任何模块。
不要被$
混淆,它是JavaScript中的有效变量名称。
为什么要进行多项作业
语法,单行方便,全部。
window.$
与浏览器中的运行兼容global.jQuery
是两倍。
jQuery
不可用,例如运行多个版本的jQuery时,$
可用是一个很好的后备。由于与某些第三方项目的兼容性差异,我发现这在大型项目中相当普遍。locally
范围内,global
有additional, reserved meaning,jQuery
对象可用于require()
其他代码部分而不$
再说一遍。Spring Boot
是most common usage in the API examples,所以它是为了安慰,而不是必需品。