小编Ste*_*eve的帖子

JS双重感叹 - 是否有充分的理由使用它?

我和一位同事一直在争论这个话题大约一个星期.我非常喜欢速记代码,使用三元等,无论我在哪里.最近,他一直在挑剔我使用双重感叹词.在经过多次测试后,我开始同意他的观点......在我的代码中使用双重感叹词可能并不明智.考虑一下:

var myvar = "Hello";
return (!!myvar ? "Var is set" : "Var is not set");
Run Code Online (Sandbox Code Playgroud)

上面的示例按预期工作.但是,如果我们检查可能返回undefined的变量,我们会收到错误,尤其是在IE7中.但是,如果我们在控制台中运行它,我们会得到预期的结果:

if(randomvar) alert('Works');
Run Code Online (Sandbox Code Playgroud)

使用此方法,如果变量未定义,则无提示失败.这让我质疑完全使用双重感叹词.是否存在实际上使该运营商受益的情况?

javascript boolean operators shorthand

6
推荐指数
2
解决办法
3397
查看次数

在Passport KeystoneJS中创建新用户时出现Mongoose ValidationError

我在我的项目中使用KeystoneJSPassport身份验证插件.

如果用户帐户存在并且与所使用的社交网络绑定,则一切都很有效.但是,在创建新用户时,使用config选项'auto create user': true,我最终会在oauth回调路由上出现500错误.日志说它是验证错误.

ValidationError: Validation failed 
  at model.Document.invalidate (/app/node_modules/keystone/node_modules/mongoose/lib/document.js:1021:32) 
  at /app/node_modules/keystone/node_modules/mongoose/lib/document.js:970:16 
  at validate (/app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:610:7) 
  at /app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:627:9 
  at Array.forEach (native) 
  at SchemaString.SchemaType.doValidate (/app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:614:19) 
  at /app/node_modules/keystone/node_modules/mongoose/lib/document.js:968:9 
  at process._tickCallback (node.js:419:13)
Run Code Online (Sandbox Code Playgroud)

可能是什么导致了这个?


编辑

用户模型:

var keystone = require('keystone'),
Types = keystone.Field.Types,
social = require('keystone-social-login');

/**
 * User Model
 * ==========
 */

var User = new keystone.List('User');

User.add({
    name: { type: Types.Name, required: true, index: true },
    email: { type: Types.Email, initial: true, required: true, index: true …
Run Code Online (Sandbox Code Playgroud)

oauth mongoose node.js passport.js keystonejs

5
推荐指数
0
解决办法
2332
查看次数

jScrollPane - MouseWheel无法正常工作

我正在使用jScrollPane,因为它是Google上的第一件事,我很累.所以,我首先要说的是我并不反对使用不同的东西.

我有一个2列的部分.右列使用jScrollPane插件并具有固定宽度.拖动滚动条时它可以工作,但鼠标滚轮插件似乎不起作用.我按此顺序调用所有内容:

jquery.jscrollpane.css  
jquery.jscrollpane.lozenge.css  
jquery.min.js  
jquery.mousewheel.js  
mwheelIntent.js  
jquery.jscrollpane.min.js
Run Code Online (Sandbox Code Playgroud)

标记:

<div class="twocolumn">
  <div class="img-lt"></div>
  <div class="txt-rt scroll-pane">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是CSS:

#content .twocolumn { overflow:hidden; }
#content .twocolumn .img-lt {
  padding-right:22px;
  border-right:1px solid #818283;
  float:left;
}
#content .twocolumn .txt-rt {
  padding-left:22px;
  float:left;
  width:556px;
  height:409px;
}
Run Code Online (Sandbox Code Playgroud)

并且针对页面准备就绪
$(function(){ $('.scroll-pane').jScrollPane(); });

控制台报告没有错误.有什么想法吗?

scrollbar mousewheel jscrollpane jquery-jscrollpane

4
推荐指数
1
解决办法
9898
查看次数

Facebook JS SDK - 权限检查后发布到墙上

我一直在谷歌搜索2天,找不到任何确定的东西.我遇到的所有结果都使用了不再有效的弃用代码.请帮忙.

我需要一个按钮点击...

  1. 检查扩展权限
  2. 如果尚未授予权限,请求它们(user_likes,offline_access,publish_stream)
  3. 获得权限后,将帖子发布到用户的墙上
  4. 允许我在用户离线时将墙上的帖子推送给用户

有人可以帮忙吗?

facebook facebook-graph-api facebook-javascript-sdk

3
推荐指数
1
解决办法
9184
查看次数

高级对象排序

我正在试图解决这个问题时我的头靠在墙上......基本上,我有一个类似于此结构的物体:

results = {
  1 : {
    url    : '/',
    matches: {
      title : true,
      h1    : false,
      copy  : 2
    }
  },
  2 : {
    url    : '/?id=2',
    matches: {
      title : true,
      h1    : true,
      copy  : 0
    }
  },
  3 : {
    url    : '/id=3',
    matches: {
      title : false,
      h1    : false,
      copy  : 6
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是自定义搜索的结果集.我需要结果根据对象内的匹配来获得相关性的权重.结果应该像这样排序:

  1. 匹配match.title == true的结果是最重要的结果.在此子集中,matches.h1为true,具有最大权重(最顶层),后跟页面副本中出现的次数(matches.copy).

  2. 具有matches.h1 == true的结果将在结果视图中显示下一个,按页面副本中出现的次数(matches.copy)排序.

  3. matches.title和matches.h1都为false的结果在matches.copy上按降序排序.

这对当前的对象结构是否可行?或者我是否需要将其拆分并交叉引用每个子集?尔加!它太早了,咖啡不能正常工作:(


编辑:将 结果集转换为对象数组.新结构:

results = [
  { pageid: 1, url: …
Run Code Online (Sandbox Code Playgroud)

javascript sorting object

1
推荐指数
1
解决办法
516
查看次数