鉴于此功能:
var test = function(param1, param2_maybe_not_set) {
  var my_object = {};
  // code here...
}
在您看来,最好的是什么?
my_object.new_key = (param2_maybe_not_set === undefined) ? null : param2_maybe_not_set;
要么
my_object.new_key = (param2_maybe_not_set === void 0) ? null : param2_maybe_not_set;
要么
my_object.new_key = (typeof param2_maybe_not_set === 'undefined') ? null : param2_maybe_not_set;
或者,这个缩短的表达式是否正确?
my_object.new_key = param2_maybe_not_set || null;
所有四种方法都有效(至少在NodeJS控制台中).jsPerf也没有显示出任何这些差距(http://jsperf.com/typeof-performance/8)
应该使用哪一种,作为一种良好做法?
我想创建一个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>
如何获得数据范围用户的电子邮件或其他范围属性?
我有一个将页面滚动到给定偏移量的函数.我正在使用视差效果,所以我的所有元素(和页面,或"幻灯片")都根据滚动条位置定位.
我的小问题是,当我点击指向另一张幻灯片的链接时,它会将页面滚动到所需的偏移量,但会触发绑定的事件.哪个应该没问题,保持顺畅的效果.但是有一点小故障,似乎该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);
    }
我知道在这段代码中可能很难找到问题,但我发现这与我有关.你知道什么是错的吗?
谢谢!
PS:scrollTo是一个jQuery插件,但有同样的故障scrollTop...
我遇到的很多问题与reactjs主要是因为我不太确定组件的生命周期,并在精确什么样的setState点事情做的事情。
我知道有一个标题为“组件生命周期”的页面,但我需要一个更详细的可视化图表来显示 reactjs 生命周期的工作原理,特别是显示 setState 执行操作的时间和地点。
有这样的图吗?