我在javascript应用程序中找到了以下代码行.
var auth = parent.auth = parent.auth || {};
Run Code Online (Sandbox Code Playgroud)
我知道现有的Object父对象是用auth Object扩展的,但我不明白parent.auth || {}这里做了什么.
所以我正在查看一个包含以下javascript行的项目:
window.negotiationApp = window.negotiationApp || {};
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这行代码吗?
更新 现在,我了解这行代码正在做什么,我的问题可能是独特的问题如下:
javascript代码中没有negotiationApp对象.window.negotiationApp将始终设置为空对象,开发人员似乎只是将其用作其他对象的命名空间或容器.这是一个常见的JavaScript练习吗?
我附上了两个if条件的例子.第一个if条件按预期工作.第二个if条件返回11,但为什么?我知道第二个if条件是错误的,但我想理解为什么Javascript在这种情况下返回11.
function exception(number) {
// if(number === 10 || number === 11) { // Working as expected
if(number === 10 || 11) { // Why 11?
console.log(number);
}
}
function loop(f) {
for (i = 0; i <= 100; i++) {
f(i);
}
}
loop(exception);
Run Code Online (Sandbox Code Playgroud) 我有一系列元素如下:
var a = [
<tr data-order=?"0" data-time=?"840">?…?</tr>?,
<tr data-order=?"0" data-time=?"60">?…?</tr>?,
<tr data-order=?"1" data-time=?"10">?…?</tr>?,
<tr data-order=?"2" data-time=?"20">?…?</tr>?,
<tr data-order=?"3" data-time=?"15">?…?</tr>?,
<tr data-order=?"4" data-time=?"40">?…?</tr>?,
<tr data-order=?"5" data-time=?"30">?…?</tr>?,
<tr data-order=?"6" data-time=?"1320">?…?</tr>?
]
Run Code Online (Sandbox Code Playgroud)
我想根据数据顺序和数据时间对它们进行排序.我能够实现的目标是:
a.sort(function(m, n) {
return parseInt( $(m).attr("data-order") ) - parseInt( $(n).attr("data-order") )
});
Run Code Online (Sandbox Code Playgroud)
这给了我按日期顺序排序的元素,但对于相同的日期顺序,我希望它按日期时间排序.
如何按多个属性排序?
可能重复:
这个结构是什么意思?
我第一次遇到这种语法而且不确定它在做什么:
self.name = _searchString(settings.dataBrowser) || "An unknown browser";
Run Code Online (Sandbox Code Playgroud)
或(双管)条件有什么作用?何时将self.name设置为第二个值?
所以我正在阅读Airbnb的JS样式指南,我不明白OR运算符在下面的例子中做了什么.更具体地说,在Jedy构造options || (options = {});函数中,如果没有将参数传递给构造函数,那么基本上是创建一个空对象吗?因此,nameJedi构造函数的属性将设置为'no name'?
function Jedi(options) {
options || (options = {});
this.name = options.name || 'no name';
}
Jedi.prototype.getName = function getName() {
return this.name;
};
Jedi.prototype.toString = function toString() {
return 'Jedi - ' + this.getName();
};
Run Code Online (Sandbox Code Playgroud)
PS.似乎有很多简单的方法用JS做事.是否有任何好的资源或文章解释这些是什么以及什么时候最好使用它们?