小编Mar*_*pel的帖子

全局变量的命名/格式化标准

JavaScript中全局变量的命名和格式化标准是什么?

例如:

var global_var // ?
var _global_var // ?
var GLOBAL_VAR // ?
var _GLOBAL_VAR // ?
...
Run Code Online (Sandbox Code Playgroud)

注意:我不是在谈论常量,只是简单地说具有全局范围的变量.

javascript global-variables

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

John Resig的OO JavaScript实现生产安全吗?

很长一段时间以来,我一直在努力使我的JavaScript更加面向对象.我也看了几个不同的实现,但我无法决定是否有必要.

我想回答的是以下问题

  • 约翰Resig的简单继承结构使用安全生产?
  • 有什么办法可以说明它的测试情况如何?
  • 除了Joose,我还有其他选择吗?我需要一个易于使用,快速且稳健的产品.它还需要与jQuery兼容.

javascript oop jquery

24
推荐指数
3
解决办法
2135
查看次数

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

边界约100%的身高和宽度(HTML 4.01严格)

好吧,这让我疯狂了.

我希望在我的文档周围有一个边框.它应该很好地围绕整个窗口/视口.所以我定义:

body {
  border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)

当我的文档处于怪癖模式时,这很好.至少在IE中,这是我的主要目标.红色边框显示在我页面的边缘,显然是因为通过预定义的CSS bodyhtml设置为填充屏幕.

通过设置HTML 4.01严格DOCTYPE进入标准模式,bodyhtml折叠到内容的实际(较小)大小时,边框将直接绘制在屏幕中间.所以我定义:

body, html {
  padding: 0px;
  margin: 0px;
  border: 0px none;
  width: 100%;
  height: 100%;
}

body {
  border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)

我得到 - 滚动条,滚动一个像素来显示底部/右边框.但是,我希望这个边界立即可见.

有没有废话(如"高度:99.9%;","溢出:隐藏;"或"切换回怪癖模式")方法获得100%的边框,没有不必要的滚动条?IE-only很好,当然,跨浏览器会更好.

html css internet-explorer

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

替换数字中的所有点

我正在尝试替换用户在HTML表单中输入的值中找到的所有点.例如,我需要将条目'8.30'转换为'8x30'.

我有这个简单的代码:

var value = $(this).val().trim(); // get the value from the form
value += ''; // force value to string
value.replace('.', 'x');
Run Code Online (Sandbox Code Playgroud)

但它不起作用.在Firebug中使用console.log命令,我可以看到replace命令根本不会发生.'8.30'保持不变.

我也试过以下正则表达式没有更好的结果:

value.replace(/\./g, 'x');
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

javascript replace

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

在Javascript中与正则表达式递归匹配

示例字符串: $${a},{s$${d}$$}$$

我想$${d}$$首先匹配并替换它一些文本,以便字符串成为$${a},{sd}$$,然后$${a},{sd}$$将匹配.

javascript regex

20
推荐指数
2
解决办法
2万
查看次数

从对象的内联函数中访问它

我很难在对象方法中的javascript内联函数中引用"this".

var testObject = {
    oThis : this,
    testVariable : "somestring",
    init : function(){

       console.log(this.testVariable); // outputs testVariable as expected

       this.testObject.submit(function(){

            var anotherThis = this;
            console.log(this.testVariable) // undefined
            console.log(oThis.testVariable) // undefined
            console.log(testObject.testVariable) // outputs testVariable 
            console.log(anotherThis.testVariable) // undefined

    }

}
Run Code Online (Sandbox Code Playgroud)

如何this.testVariable从提交功能中进行访问?我也使用jQuery,如果这有所不同.

我想知道这是否是最好的方法 - 也许我应该作为一个单独的函数提交,然后引用内联,如:

 init : function(){

    this.testObject.submit = this.submitForm;

 },
 submitForm : function(){
     // do validation here
     console.log(this.testVariable) // outputs testvariable

     .
     .
     .

     return valid; 
 }
Run Code Online (Sandbox Code Playgroud)

但这似乎也没有用 - 我想我现在只想在我的init方法中保持提交函数内联.

javascript inline function object this

18
推荐指数
2
解决办法
2万
查看次数

PHP - CSRF - 如何使其在所有选项卡中都有效?

我已经读过如何在最后几天防止CSRF攻击.我将在每个页面加载中更新令牌,将令牌保存在会话中并在提交表单时进行检查.

但是如果用户有,假设我的网站打开了3个标签,我只是将最后一个标记存储在会话中?这将使用另一个令牌覆盖令牌,并且一些后续操作将失败.

我是否需要在会话中存储所有令牌,或者是否有更好的解决方案才能使其正常工作?

php tabs csrf

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

MooTools的Function.prototype.overloadSetter()有什么作用?

我正在浏览MooTools源代码,试图了解它.implement().extend()实用程序.

每个的定义指的是这样定义的函数:

var enumerables = true;
for (var i in {toString: 1}) enumerables = null;
if (enumerables) enumerables = ['hasOwnProperty', 'valueOf', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'constructor'];

Function.prototype.overloadSetter = function(usePlural){
    var self = this;
    return function(a, b){
        if (a == null) return this;
        if (usePlural || typeof a != 'string'){
            for (var k in a) self.call(this, k, a[k]);
            if (enumerables) for (var i = enumerables.length; i--;){
                k = enumerables[i];
                if (a.hasOwnProperty(k)) self.call(this, k, a[k]);
            }
        } else …
Run Code Online (Sandbox Code Playgroud)

javascript mootools

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

用于设置元素的ScrollTop的跨浏览器方法?

例如,我有一个带有div标签右侧滚动条的div标签.
我想用最后一行显示div,所以我有这个:

document.getElementById("divscroll").scrollTop = 250000;
Run Code Online (Sandbox Code Playgroud)

我可以让它滚动到Firefox的最后但是从未成功使用更大数量的IE事件!
有没有简单的Cross-borwser脚本(不是JQuery或任何大框架!)

javascript scrolltop

15
推荐指数
2
解决办法
3万
查看次数