小编Ruf*_*fus的帖子

console.log的正确包装器,具有正确的行号?

我现在正在开发一个应用程序,并放置一个全局isDebug开关.我想换行console.log以方便使用.

//isDebug controls the entire site.
var isDebug = true;

//debug.js
function debug(msg, level){
    var Global = this;
    if(!(Global.isDebug && Global.console && Global.console.log)){
        return;
    }
    level = level||'info';
    Global.console.log(level + ': '+ msg);
}

//main.js
debug('Here is a msg.');
Run Code Online (Sandbox Code Playgroud)

然后我在Firefox控制台中得到了这个结果.

info: Here is a msg.                       debug.js (line 8)
Run Code Online (Sandbox Code Playgroud)

如果我想用debug()被调用的行号记录,info: Here is a msg. main.js (line 2)怎么办?

javascript

119
推荐指数
11
解决办法
6万
查看次数

为什么上边div的margin-top适用于`<body>`?

在这里,我发布了一个演示http://jsfiddle.net/LxYMv/1/.

正如你所看到的那样<body>获得margin-top:距离顶部div 10px,因此<html>黑色背景泄露出来.这是否意味着我不能给顶级div一个积极的优势?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <style>
            html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th,var{font:inherit}del,ins{text-decoration:none}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:baseline}sub{vertical-align:baseline}legend{color:#000}
            html{background:black}
            body{background:white}
        </style>
    </head>
    <body>
        <div style="margin-top:10px;background:red;height:100px">Here the top div begins</div>
        <div style="height:800px">A long long div</div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css

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

为什么`这= = window`给我假?

我一直在测试以下代码,但Firefox16和Chrome22给了我不同的结果.

console.log(this===window); //false in Firefox and true in Chrome
console.log(this.window===window); //true in both Firefox and Chrome
(function(){
    console.log(this===window); //false in Firefox and true in Chrome
    console.log(this.window===window); //true in both Firefox and Chrome
})();
Run Code Online (Sandbox Code Playgroud)

据我所知,Chrome的答案是正确的:除非被调用new,否则this总是与全局对象相同window,这会导致称为范围安全构造函数的模式.

javascript

9
推荐指数
2
解决办法
182
查看次数

如何在'drop`事件后停止重定向?

将文件放入divFirefox后,网页将被重定向到此文件.我试着使用jQuery的阻止这种传播e.preventDefault()drop处理程序,但失败了.

看到这个演示,丢弃一个文件#test将不会重定向网页,但进入#test1意志,我想知道为什么.我就应该总是绑定处理程序dragenter,dragover,dragleavedrop后防止传播drop

更新:

我在html5doctor上找到了一些提示:

要告诉浏览器我们可以放入这个元素,我们所要做的就是取消dragover事件.但是,由于IE的行为不同,我们需要为dragenter事件做同样的事情.

而Mozilla 声称:

dragenterdragover事件的侦听器用于指示有效的放置目标,即可以放置拖动项目的位置.

但我在firefox上测试这个演示,#test有效#test1但没有,似乎Mozilla犯了一个错误,并且html5doctor是对的:Firefox dragover只需要drop工作.

jquery html5 drag-and-drop

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

在JavaScript中警告副作用的任何短信?

凭借JavaScript的灵活性,我们可以编写充满副作用的代码,或者仅仅是纯函数.

我一直对功能JavaScript感兴趣,并希望在这个范例中启动一个项目.关于这一点的麻烦肯定能帮助我收集好的做法.有没有任何一点可以强制实现纯功能和副作用的自由风格?

javascript functional-programming eslint

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

我为什么要隐瞒"消费者的秘密"?

我目前正在使用javascript编写一个Twitter客户端,然后发现许多人提醒javascript开发人员不要泄露"消费者秘密".但他们从未说过原因.

那么为什么隐藏我的consumer_secret是如此重要?如果有人想在他的应用程序上显示我的"via My_App",使名称My_App更有名,我为什么要担心什么呢?毕竟,您无法从我的consumer_secret获取任何有用的信息,用户信息受https和token_secret的保护.

javascript oauth

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

为什么让语句的行为与var有很大不同?

我知道let是声明块范围局部变量,但为什么它不支持重新声明和挂起var呢?

这个限制的设计目的是什么?

(function(){
    'use strict';
    alert(a);       // undefined
    var a;
})();

(function(){
    'use strict';
    alert(a);       // error
    let a;
})();

(function(){
    'use strict';
    var a;
    var a;
    alert(a);       // undefined
})();

(function(){
    'use strict';
    let a;
    let a;          // error
    alert(a);
})();
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

双方括号[[]]在正则表达式中的含义是什么?

/[[0]]/在JavaScript中遇到了这个RegExp ,并且一直在想它意味着什么.

我知道外部的一对[]应该用作一个字符类,但内部对呢?我在谷歌搜索并找到了这个链接,但"整理序列"似乎并不是因为/[[.some.]]/这个页面声称我无法得到工作.

如果有人能给我一个提示,请提前致谢.

javascript regex

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

2种写jquery的方式,有什么区别?

我有一个函数,里面有一些简单的表达式,添加nums,附加doms等等.因为我只需要调用一次,所以匿名函数可以做到.但我应该选择哪种方式,区别是什么?

1:$(document).ready() {})我看过很多的简写,

$(function(){
    var something;
    ++something;
});
Run Code Online (Sandbox Code Playgroud)

2:在jquery插件中找到.是否绑定到$(document).ready()?

(function ($) {
    var something;
    ++something;
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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