小编Ben*_*ick的帖子

Python中的类C结构

有没有办法在Python中方便地定义类似C的结构?我厌倦了写下这样的东西:

class MyStruct():
    def __init__(self, field1, field2, field3):
        self.field1 = field1
        self.field2 = field2
        self.field3 = field3
Run Code Online (Sandbox Code Playgroud)

python struct

416
推荐指数
16
解决办法
48万
查看次数

Map,parseInt的奇怪行为

可能重复:
javascript - Array.map和parseInt

在twitter上看到了这个奇怪的JavaScript行为示例

['10','10','10','10','10'].map(parseInt)
Run Code Online (Sandbox Code Playgroud)

评估为

[10, NaN, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

有人可以解释这种行为吗?我用铬和萤火虫验证了它

['10','10','10','10','10'].map(function(x){return parseInt(x);})
Run Code Online (Sandbox Code Playgroud)

正确返回10的数组作为整数.这是不正确使用map(),parseInt的错误还是其他什么?

javascript functional-programming

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

更改目录OSX中所有文件的文件扩展名

我有一个目录,其中包含一个扩展名(在本例中为.txt)的文件,我想自动转换为另一个扩展名(.md).

是否有一个简单的终端单行程序,我可以用来将此目录中的所有文件转换为不同的文件扩展名?

或者我需要用正则表达式编写脚本吗?

macos terminal file-extension

60
推荐指数
5
解决办法
6万
查看次数

防止光标更改以手动禁用按钮

可能重复:
jQuery mouseover一个禁用的链接,如何更改光标以使其不显示可点击?

我有一个按钮,我试图在某些情况下禁用它的功能是不必要的或不可能的.它是页面上的众多按钮之一,我只想禁用此特定按钮.

我正在寻找的效果是让它变灰,不可点击,并且当鼠标悬停在按钮上时鼠标指针不会变为手形指针.

我在前两个目标中取得了成功,但我不确定如何让第三个目标成为现实.当我搜索时,我看到了全局禁用此行为的建议,但没有针对特定按钮的建议.

这是我到目前为止所拥有的.

if(buttonIsDisabled)
{
    var btnid ="#button"+index;
    $(btnid).attr("disabled","disabled").fadeTo(500,0.2);
}
Run Code Online (Sandbox Code Playgroud)

这成功地使按钮不可点亮并淡出,但在Firefox和Chrome中,它仍然在悬停时显示手形图标.IE8(我也必须支持)正确禁用手并显示光标.

有关如何在Chrome和Firefox中强制执行IE行为的任何建议?

javascript jquery button hover

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

JSON.stringify()只允许一个值参数.如何在一个大括号下添加更多参数进行字符串化?

http.get(options, function(res){
            fs.appendFile('log.txt', JSON.stringify(res.headers, null, 4));
})
Run Code Online (Sandbox Code Playgroud)

我对这个JSON.stringify()功能有疑问.

我已经学会了简单的使用res.headers确实事实上输出JSON格式.

目前,我仅限于能够在JSON.stringify()中使用一个res.xxxxx方法.有问题的代码粘贴在上面.我怎么能使用多个值?此刻,我只能把在res.headersvalue参数.我也想使用res.statusCode和我自己的对象,所有对象都在一个大括号{}下进行字符串化.

JSON.Stringify的参数如下: JSON.stringify(value, [replacer], [space]);

javascript json node.js

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

在Highcharts中分组传说

我有两个堆积的条形图,但所有图例(两个条形图)都一起显示.我想根据条形图中堆积的项目对图例进行分组.有人能帮我吗?

$(function () {
        $('#container').highcharts({

            chart: {
                type: 'bar'
            },

            title: {
                text: 'Total fruit consumtion, grouped by gender'
            },

            xAxis: {
                categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
            },

            yAxis: {
                allowDecimals: false,
                min: 0,
                title: {
                    text: 'Number of fruits'
                }
            },

            tooltip: {
                formatter: function() {
                    return '<b>'+ this.x +'</b><br/>'+
                        this.series.name +': '+ this.y +'<br/>'+
                        'Total: '+ this.point.stackTotal;
                }
            },

            plotOptions: {
                bar: {
                    stacking: 'normal'
                }
            },

            series: [{
                name: 'John',
                data: [5, 3, 4, 7, 2], …
Run Code Online (Sandbox Code Playgroud)

javascript highcharts

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

修改ng-repeat中Angular Scope内的对象

我正在使用ng-repeat在HTML中创建一个表单,以从作用域中的对象生成表单元素.我还使用该对象生成ng-repeat之外的其他元素.

HTML中的简化示例如下所示:

<div ng-app="App">
  <div ng-controller="Ctrl">
      <div class="block1">
          <form ng-repeat="(key, value) in test">
              <label>{{key}}</label>
              <input ng-model="value" />
              <p>{{value}}</p>
          </form>
      </div>
      <div class="block2">
        <p>
          {{test.a}}
        </p>
        <p>
            {{test.b}}
        </p>
      </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这在JS中:

angular.module('App', []);

function Ctrl($scope) {
    $scope.test = {
        a:"abc",
        b:"def"
    }
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,在块2中的文本设置为初始值test.atest.b.<p>循环内的输入值和值也设置为初始值.

当我修改输入中的<p>值时,ng-repeat块内的值会正确更新,但<p>block2中的标记无法更新.

为什么这是行为?ng-repeat是否创建了自己的隔离范围?如果是这样,我如何才能让控制器级别范围更新?此外,有人可以解释这种行为背后的想法及其提供的任何好处吗?

JSFiddle显示问题

javascript angularjs angularjs-ng-repeat

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

为什么html中的AngularJS错误不会出现在控制台中?

这是一个小插图.当有一个ng-click指令(例如)调用未在控制器的$ scope(或其父节点)上定义的函数时,它会无声地失败.当我尝试调试网页时,这种行为令人抓狂,因为错误输入的函数名称可能意味着浪费了很多时间.我怎样才能找出这样的错误被误吞的原因,为什么答案"你做不到?"


HTML

<div ng-app="AngularApp">
    <div ng-controller="FooController">
        <button ng-click="noError()"> noError() </button>
        <button ng-click="error()"> error() </button>
        <button ng-click="works()"> works() </button>
        <br/>
        <p ng-bind="foo"></p>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)


使用Javascript

var angularApp = angular.module('AngularApp', []);

angularApp.controller('FooController', ['$scope', function($scope) {
    $scope.foo = 0;

    $scope.works = function () {
        $scope.foo += 1; // no error, everything works
    };

    $scope.error = function () {
        $scope.foo += baz; // ReferenceError: baz is not defined
    };

    // noError is not defined in the controller, so errors suddenly don't …
Run Code Online (Sandbox Code Playgroud)

html javascript debugging angularjs

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

使用HTML5验证多个电子邮件地址

我正在尝试构建一个电子邮件表单,它将多个以逗号分隔的电子邮件作为输入,并使用HTML5进行验证.我想使用以下正则表达式来检查输入:

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的

这似乎不适用于多个:

<input type="email" pattern="\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b" value="" multiple>
Run Code Online (Sandbox Code Playgroud)

这有效,但只有内置的电子邮件验证,这似乎是这样的.+@.+.

<input type="email" value="" multiple>
Run Code Online (Sandbox Code Playgroud)

有没有办法混合模式和多个,所以正则表达式检查逗号分隔列表中的每个项目?

我在这里有一个演示:http://codepen.io/ben336/pen/ihjKA

javascript regex email html5

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

gulp-filter没有正确过滤掉排除的文件

我正在尝试使用gulpjs代替grunt进行项目.我正在尝试使用gulp过滤器在我的代码上运行jsHint时忽略供应商库.我的代码基于自述文件的代码,但文件尚未过滤.

我正在运行节点0.10.26,gulp 3.8.0和gulp filter 0.4.1

我正在尝试在wcui/app/js包含许多其他JS文件目录的目录上运行jshint,总共大约120个js文件.我想只排除供应商目录.

我的代码看起来像这样:

var gulp = require('gulp');
var gulpFilter = require('gulp-filter');
var jshint = require('gulp-jshint');

var srcs = {
    scripts: ['wcui/app/js/**/*.js'],
    styles:  ['wcui/app/css/**/*.less','wcui/app/css/**/*.css']
};

var dests = {
    scripts: 'wcui/static/js/',
    styles: 'wcui/static/css/'
};

gulp.task('scripts', function() {
    var filter = gulpFilter('!wcui/app/js/vendor');
    return gulp.src(srcs.scripts)
        .pipe(filter)
        .pipe(jshint())
        .pipe(jshint.reporter('jshint-stylish'))
        .pipe(filter.restore)
        .pipe(gulp.dest(dests.scripts));
});

gulp.task('styles', function() {
    return gulp.src(srcs.styles)
        .pipe(gulp.dest(dests.styles));
});

gulp.task('dev',['scripts','styles']);
Run Code Online (Sandbox Code Playgroud)

现在正在运行gulp dev它与我添加过滤器之前所做的相同的事情,linting每个js文件.如何更改此选项以使其正确过滤?gulp示例的格式为'wcui/app/js/*.js',但是当我承认**glob时,我根本没有得到子目录.除此之外,我想我正在关注这封信的自述文件(对我的特定任务进行了更改).

javascript node.js gulp gulp-filter

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