小编Sam*_*duc的帖子

在NodeJS中处理未定义的变量简单条件

鉴于此功能:

var test = function(param1, param2_maybe_not_set) {
  var my_object = {};
  // code here...
}
Run Code Online (Sandbox Code Playgroud)

在您看来,最好的是什么?

my_object.new_key = (param2_maybe_not_set === undefined) ? null : param2_maybe_not_set;
Run Code Online (Sandbox Code Playgroud)

要么

my_object.new_key = (param2_maybe_not_set === void 0) ? null : param2_maybe_not_set;
Run Code Online (Sandbox Code Playgroud)

要么

my_object.new_key = (typeof param2_maybe_not_set === 'undefined') ? null : param2_maybe_not_set;
Run Code Online (Sandbox Code Playgroud)

或者,这个缩短的表达式是否正确?

my_object.new_key = param2_maybe_not_set || null;
Run Code Online (Sandbox Code Playgroud)

所有四种方法都有效(至少在NodeJS控制台中).jsPerf也没有显示出任何这些差距(http://jsperf.com/typeof-performance/8)

应该使用哪一种,作为一种良好做法

javascript

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

如何使用Facebook登录按钮获取用户电子邮件?

我想创建一个Facebook登录按钮。确实我做了,但是我需要获取用户名,电子邮件和其他信息。我怎样才能做到这一点?

这是我的代码

<html>
<head></head>
<body>
<div id="fb-root"></div>

<script>
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/tr_TR/sdk.js#xfbml=1&version=v2.4&appId=168750412481****";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

</script>

<div class="fb-login-button" data-max-rows="1" data-size="large" data-show-faces="false" data-auto-logout-link="true" data-scope="email"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如何获得数据范围用户的电子邮件或其他范围属性?

javascript facebook facebook-javascript-sdk

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

scrollTop在滚动之前返回顶部

我有一个将页面滚动到给定偏移量的函数.我正在使用视差效果,所以我的所有元素(和页面,或"幻灯片")都根据滚动条位置定位.

我的小问题是,当我点击指向另一张幻灯片的链接时,它会将页面滚动到所需的偏移量,但会触发绑定的事件.哪个应该没问题,保持顺畅的效果.但是有一点小故障,似乎该scrollTop功能在正确执行之前会回到顶部一毫秒.因此,在滚动到正确的位置之前,每次单击链接时,它看起来像是另一页显示毫秒.

这是我的代码:

    for(var i=1;i<8;i++)
    {
        (function(slideNum) {
            var tempName = 'slide'+slideNum;
            //console.log(defaultPositions["slide"+i].top);
            $('a.slide'+i).bind('click', function() {
                $.scrollTo((defaultPositions[tempName].top/slidesScrollSpeed)+1+'px', 800);
            });
        })(i);
    }
Run Code Online (Sandbox Code Playgroud)

我知道在这段代码中可能很难找到问题,但我发现这与我有关.你知道什么是错的吗?

谢谢!

PS:scrollTo是一个jQuery插件,但有同样的故障scrollTop...

javascript jquery

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

reactjs 生命周期是否有可视化流程图?

我遇到的很多问题与reactjs主要是因为我不太确定组件的生命周期,并在精确什么样的setState点事情做的事情。

我知道有一个标题为“组件生命周期”的页面,但我需要一个更详细的可视化图表来显示 reactjs 生命周期的工作原理,特别是显示 setState 执行操作的时间和地点。

有这样的图吗?

javascript reactjs

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