小编Hor*_*aan的帖子

链接Underscore.js函数的首选方法是什么?

Underscore.js有两种调用函数的方法,我将其称为对象样式和函数样式.对象样式如下所示:

_(myObject).each(function (val, key) {
  console.log(key, val);
});
Run Code Online (Sandbox Code Playgroud)

另一方面,函数式看起来像这样:

_.each(myObject, function (val, key) {
  console.log(key, val);
});
Run Code Online (Sandbox Code Playgroud)

我很高兴在我的代码中使用对象样式调用,但是在某些时候,调用的对象样式从underscore.js文档中消失了(虽然对象样式调用仍然可以正常工作).我还看到了这个地方的提示(比如在backbone.js文档中),功能风格是"更好"或"首选".

那么,函数式调用是首选方法吗?如果是这样,有人可以解释这背后的原因吗?

更新: @ggozad部分回答了我的问题.但似乎我对underscore.js如何工作的理解是围绕版本0.4.2形成的.通过阅读underscore.js的更改历史记录,您可以看到1.2.4版本的此条目:

你现在可以(也可能应该)写_.chain(list)而不是_(list).chain().

我想知道你为什么要写_.chain(list)而不是_(list).chain().

javascript coding-style underscore.js

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

使用file:// protocol时,我可以让history.back()函数在Chrome中运行吗?

我正在一个环境中构建一个应用程序,我只能使用本地文件系统和浏览器(即运行服务器不是一个选项).我在许多页面上都有一个通用的"返回"链接,主要是调用history.back().它看起来像下面这样:

function goBack(evt) {
    // Check to see if override is needed here

    // If no override needed, call history.back()
    history.back();
}

$('#my-back-button').click(goBack);
Run Code Online (Sandbox Code Playgroud)

此代码在Firefox和IE6中运行良好(不要问),但在Chrome中失败.有关为何和/或可能的解决方法的任何建议?

我也试过history.go(-1);哪个也行不通.

javascript google-chrome local-files

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

有没有一种简单的方法从CakePHP中的视图中获取AuthComponent用户数据?

根据Auth组件的cakebook 部分,我可以使用以下Users控制器实现简单的身份验证:

class UsersController extends AppController {

    var $name = 'Users';    
    var $components = array('Auth'); // Not necessary if declared in your app controller

    /**
     *  The AuthComponent provides the needed functionality
     *  for login, so you can leave this function blank.
     */
    function login() {
    }

    function logout() {
        $this->redirect($this->Auth->logout());
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在我的观点中得到以下内容:

<?php
   $username = $auth->user('username');
   echo "Welcome " . $username;
?>
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以做到这一点,还是我需要覆盖登录功能并将用户名存储到会话中?

更新

亚历山大的回答正是我想要的.但是,我会添加以下内容以防其他人像我一样感到困惑.

我花了一段时间才明白,如果你改变了Auth使用的模型(例如,你可能有'人'表而不是'用户'),那么你需要使用类似的东西:

$persondata = $session->read('Auth.Person');
Run Code Online (Sandbox Code Playgroud)

php authentication cakephp

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

有没有一种方便的方法来格式化Freemarker中人类可读的字节大小字符串?

有很多的答案对这个问题的Java(如何字节大小转换为人类可读的格式在Java?格式文件大小为MB,GB等)和甚至对Groovy/Grails的,更何况PHP,但有一个内置或方便的方法在FreeMarker中执行此操作?

为清楚起见,我采用通用SI方法,而不是2的二进制幂.例如

      1 ? 1B
    123 ? 123B
   1000 ? 1KB
   1728 ? 1.7KB
7077888 ? 7.1MB
Run Code Online (Sandbox Code Playgroud)

等等.

鉴于FreeMarker似乎没有对数函数,有没有办法在纯FreeMarker中执行此操作,或者是我用Java创建模板方法的唯一选择.

string format freemarker numbers funnelback

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

如何在污点模式下使用File :: Find :: Rule?

我试图使用以下内容获取给定目录中的子目录列表:

#!/usr/bin/perl -wT
use strict;
use warnings;

use File::Find::Rule;
use Data::Dumper;

my @subdirs = File::Find::Rule->maxdepth(1)->directory->relative->in('mydir');

print Dumper(@subdirs);
Run Code Online (Sandbox Code Playgroud)

但是,运行它会得到结果:

Insecure dependency in chdir while running with -T switch

我知道File::Find有处理污点模式的选项,但我似乎找不到相应的东西File::Find::Rule.可以做到以上几点吗?我应该使用替代方法列出子目录吗?我是否完全误解了一些我应该了解的关于污点模式的明显事实?

perl directory-listing

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

如何在MySQL字段中选择逗号分隔值的唯一值?

像这样的东西:

Select UNIQUE_VALUES('1,2,3,5,3,4,2,1,2,3,1,4') as CSVUnique
Run Code Online (Sandbox Code Playgroud)

结果将是:

CSVUnique
1,2,3,5,4
Run Code Online (Sandbox Code Playgroud)

谢谢!

mysql database select

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