小编Geo*_*pty的帖子

如果没有"function"关键字,此对象方法定义如何工作?

我意外地忽略了function关键字而发现了这一点.通常foobar下面模块中的方法将被声明为foobar: function(arg1),但有趣的是以下工作,至少在某些浏览器中,例如Chrome版本44.0.2403.157 m,但它在IE 11.0.9600.17959中失败

在任何浏览器中都可以运行它怎么可能?这是某种新的ES6功能吗?

var module = {
    foobar(arg1) {
        alert(arg1);
    }
};

module.foobar("Hello World");
Run Code Online (Sandbox Code Playgroud)

javascript methods function shorthand ecmascript-6

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

最简单的JQuery验证规则示例

以下HTML表单成功使用了jQuery的表单验证,如果留空,则在表单字段右侧显示"此字段是必需的",如果输入的字符少于2个,则"请输入至少2个字符".但是,我不想使用"cname"表单输入字段中的class和minlength属性指定验证元数据,而是使用jQuery的"规则"API,其中规则在validate函数的主体中指定.提前致谢:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="/lib/js/jquery.js"></script>
  <script src="/lib/js/jquery.validate.js"></script>
  <script>
  $(document).ready(function(){$("#commentForm").validate(
    /*
     rules/messages here
    */
    );}
    );
  </script>
</head>
<body>

 <form id="commentForm" method="get" action="">
 <fieldset>
   <legend>A simple comment form with submit validation and default messages</legend>
   <p>
     <label for="cname">Name</label>
     <em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" />
   </p>
   <p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
 </fieldset>
 </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript validation jquery declarative

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

如何在一个周末准备一次Ruby采访

我是一名经验丰富的Web开发人员,但只有一点Ruby/Rails经验.我刚刚在Ruby商店接受采访,他们确实意识到我没有太多的Ruby经验.除了2或3本我躺在的Ruby书籍外,我还可以利用其他资源参加Ruby的周末速成课程.虽然我从来没有使用它,但我确实在主机栏上有一个最低限度的帐户.

我没有看到任何其他完全重复的搜索"红宝石面试".我确实找到了我应该拥有的Ruby知识?但是我不确定这个周末是不是太过分或太多了.

ruby ruby-on-rails

11
推荐指数
3
解决办法
9215
查看次数

为什么uniq!如果没有重复,则返回nil

我刚开始使用Ruby,我个人发现以下内容违反了"最少惊喜原则".也就是说,引用文档,那就是uniq!"从self中删除重复的元素.如果没有进行任何更改,则返回nil(即没有找到重复项)."

任何人都能解释一下,这对我来说似乎完全违反直觉吗?这意味着,而不是通过附加.uniq来编写下面的一行代码!要结束第一行,我必须编写以下两行:

  hooks = IO.read(wt_hooks_impl_file).scan(/wt_rt_00\w{2}/)
  hooks = hooks.uniq
Run Code Online (Sandbox Code Playgroud)

或者我错过了什么,更好的方法?

编辑:

我明白uniq!修改其操作数.以下是我希望更好地说明的问题:

  hooks = IO.read(wt_hooks_impl_file).scan(/wt_rt_00\w{2}/)
  puts hooks.length #50
  puts hooks.uniq!.length #undefined method `length' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

我认为uniq的方式!作品使它完全无意义和无用.在我的情况下,我指出我可以将.uniq附加到第一行.但是后来在同一个程序中,我将元素推送到循环内的另一个数组中.然后,在循环下,我想"删除"数组,但我不敢写'hooks_tested.uniq!' 因为它可以返回零; 相反,我必须写hooks_tested = hooks_tested.uniq

事实上,我认为这是一个特别令人震惊的错误特征,因为它是一个众所周知的原则,当设计一个返回数组的方法时,应该总是至少返回一个空数组,而不是nil

ruby arrays uniq

11
推荐指数
2
解决办法
2568
查看次数

如何为backgrid行添加自定义删除选项

我使用backgrid开发了可编辑网格,它看起来也不错.以下是我的输出:

当我选中复选框并单击delete 图标时,将删除所选行.

现在我也希望每行都有删除选项,以便用户可以直接删除该行.

如何在每一行上添加删除图标.

在此输入图像描述

javascript backgrid marionette

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

循环遍历对象数组以查找具有匹配属性的对象

我有一个数组,一个包含所有具有唯一ID的用户的列表.我有一个包含所选组信息的对象.部分信息是所有者ID.我想知道,如何根据群组所有者ID获取用户的信息?例如,学生组对象的所有者ID为70,我的网站上有一个用户ID为70的用户...如何匹配它们?

users: 
[  { 
id: 68
name: mike
domain: i:0#.f|admembers|mike.ca
email: mike.ca
isAdmin: False
 }, etc etc ]

selectedGroup:  { 
name: Students
id: 78
description: 
owner: 70
ownerIsUser: True
 } 
Run Code Online (Sandbox Code Playgroud)

javascript arrays loops

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

这个Javascript对象的文字键限制是否严格由于解析?

请参考下面的代码,当我"注释"任何一条注释掉的行时,它会导致错误(在IE中)为"':'expected".那么我的结论是正确的,即无法提供对象值的引用,作为字符串文字中的对象键; 这是严格的解释/解析问题吗?与Crockford的"好部分"相比,这是否是Javascript的可怕(或至少"坏")"部分"的候选者?

<script>
var keys = {'ONE': 'one'};

//causes error:
//var obj1 = {keys.ONE: 'value1'};
//var obj1 = {keys['ONE']: 'value1'};

//works
var obj1 = {};
obj1[keys.ONE] = 'value1';

//also works
var key_one = keys.ONE;
var obj2 = {key_one: 'value1'};
</script>
Run Code Online (Sandbox Code Playgroud)

javascript parsing object object-literal

10
推荐指数
2
解决办法
5219
查看次数

如何在不重写父作用域的情况下将参数传递给指令?

我需要创建一个指令,该指令作用于表格单元格,其中使用表格行进行渲染ng-repeat- 为此,我部分地依赖于对题为"在ng-repeat完成时调用函数"的问题的答案.然而,与Q&A不同,我需要向我的指令传递一个参数,为此我部分依赖于这个答案(对于一个题为"Angularjs - 将参数传递给指令"的问题).

所以在我的情况下,我已经添加fixed-column-tooltip了我的指令,并columnselector作为其参数<tr>如下:

<tr fixed-column-tooltip columnselector=".td-keyField" ng-repeat="trData in trDataWatch">
Run Code Online (Sandbox Code Playgroud)

但是根据第二个答案,我将我所学到的内容添加到我的指令"隔离范围"中,根据第一个答案我不再能够访问原始范围:

'use strict';

angular.module('cmt.cases.directives')

.directive('fixedColumnTooltip', function ($timeout) {
    return {
        restrict: 'A',
        scope: {
            columnselector: '@'
        },
        link: function (scope, element, attr) {
            if (scope.$last === true) { //undefined because not operating on original scope
        ...
Run Code Online (Sandbox Code Playgroud)

有没有办法保持对原始范围的访问,但也有权访问columnselector参数?

javascript angularjs angularjs-scope angularjs-ng-repeat angular-directive

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

请求受访者手动将字符串解析为int的原因是什么?

我想知道,请求受访者手动将字符串解析为int的原因是什么?(不依赖于可能内置于该语言中的任何转换/类型转换).这是一个标准问题,从书籍或清单或其他什么建议?

在接受采访时,SO上的其他人是否有人问过这个问题?我想我在解释它并在白板上涂鸦时钉了它,因为我收到了暂定的工作机会:)

下面是我在Javascript中的充实实现.下面有一些天真的方面(例如,它没有采用基数参数),但它演示了一个(或多或少)正确的算法.

function to_i(strValue) { //named so as to not be confused with parseInt
    if (typeof strValue !== 'string' || strValue.length === 0) {
        return Number.NaN;
    }

    var tmpStr = strValue;
    var intValue = 0;
    var mult = 1;

    for (var pos=tmpStr.length-1; pos>=0; pos--) {
        var charCode = tmpStr.charCodeAt(pos);
        if (charCode < 48 || charCode > 57) {
            return Number.NaN;
        }

        intValue += mult * Math.abs(48-charCode);
        tmpStr = tmpStr.substr(0, tmpStr.length-1); 
        mult *= 10;
    }

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

javascript string integer type-conversion

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

未提交的数据库事务和自动增量列

我今天遇到了一些奇怪的行为,并想知道它是否是预期的或标准的.我们正在使用Hibernate来对抗MySQL5.在编码过程中,我忘了关闭交易,我认为其他人可以联系.

当我最终关闭事务时,运行代码并检查表,我注意到以下内容.我一直错误地运行我的代码而没有关闭事务,因此没有导致插入实际行,但是增加了自动增量代理主键值,因此我有一个间隙(即没有id字段值为751至762).

这是预期的还是标准的行为?它可能因数据库而异吗?和/或Hibernate自己的事务抽象是否会对此产生一些可能的影响?

java mysql hibernate transactions auto-increment

8
推荐指数
3
解决办法
2105
查看次数