小编onl*_*oon的帖子

Javascript添加额外的参数

让我们来看看这段代码:

var mainFunction = function() {
  altFunction.apply(null, arguments);
}
Run Code Online (Sandbox Code Playgroud)

传递给"mainFunction"的参数是动态的,它们可以是4或10无关紧要.但是我必须将它们传递给altFunction并且我必须在参数列表中添加一个EXTRA参数.

我试过这个:

var mainFunction = function() {
  var mainArguments = arguments;
  mainArguments[mainArguments.length] = 'extra data'; // not +1 since length returns "human" count.

  altFunction.apply(null, mainArguments);
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,我该怎么做?

javascript

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

SASS/SCSS对象键值循环

看看这个例子:

@include font-face('Entypo', font-files('entypo.woff'));

.icon {
  display: inline;
  font: 400 40px/40px Entypo;
}

.icon-star {
  @extend .icon;

  &:after {
    content: "\2605";
  }
}

.icon-lightning {
  @extend .icon;

  &:after {
    content: "\26A1";
  }
}
Run Code Online (Sandbox Code Playgroud)

我想尽可能干燥,所以我想知道以下是否可行,如果可行,怎么样?

@include font-face('Entypo', font-files('entypo.woff'));

.icon {
  display: inline;
  font: 400 40px/40px Entypo;
}

$icons {
  $star: "\2605";
  $lightning: "\26A1";
}

@each $icon in $icons {
  $key = $icon{key}; // ???
  $value = $icon{value}; // ???

  .icon-#{$key} {
    @extend .icon;

    &:after {
      content: $value;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

css loops sass compass-sass

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

Node.js V8通过引用传递

我想知道如何在V8中管理内存.看看这个例子:

function requestHandler(req, res){
  functionCall(req, res);
  secondFunctionCall(req, res);
  thirdFunctionCall(req, res);
  fourthFunctionCall(req, res);
};

var http = require('http');
var server = http.createServer(requestHandler).listen(3000);
Run Code Online (Sandbox Code Playgroud)

reqres变量在每个函数调用过去了,我的问题是:

  1. V8是通过引用传递还是在内存中复制?
  2. 是否可以通过引用传递变量,请看这个例子.

    var args = { hello: 'world' };
    
    function myFunction(args){
      args.newHello = 'another world';
    }
    
    myFunction(args);
    console.log(args);
    
    Run Code Online (Sandbox Code Playgroud)

    最后一行,console.log(args);将打印:

    "{ hello: 'world', newWorld: 'another world' }"
    
    Run Code Online (Sandbox Code Playgroud)

感谢您的帮助和答案:)

javascript v8 pass-by-reference node.js

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

Node.js mongoose性能

是否有人有经验使用mongoose.js作为Mongodb的Node.js映射器?

我想知道我是否应该使用本机驱动程序,所以我保持一切轻量级或写一个简单的包装器.

如果有人得到一些提示,建议非常感谢.

javascript mongoose mongodb node.js

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

url路由正则表达式PHP

我正在编写一个处理PHP Web服务路由的类,但我需要更正正则表达式,我想知道什么是最有效的解析url的方法.

示例网址:

  • POST /用户
  • GET /用户
  • GET/users&limit = 10&offset = 0
  • GET/users/search&keyword = Richard
  • GET/users/15/posts/38

我想在PHP中为类创建的是:

$router = new Router();
$router->addRoute('POST', '/users', function(){});
$router->addRoute('GET', '/users/:uid/posts/:pid', function($uid, $pid){});
$target = $router->doRouting();
Run Code Online (Sandbox Code Playgroud)

目标变量现在包含一个数组:

  • 方法
  • 网址
  • 回调方法

这是我到目前为止所得到的:

class Router{
    use Singleton;

    private $routes = [];
    private $routeCount = 0;

    public function addRoute($method, $url, $callback){
        $this->routes[] = ['method' => $method, 'url' => $url, 'callback' => $callback];
        $this->routeCount++;
    }

    public function doRouting(){
        $reqUrl = $_SERVER['REQUEST_URI'];
        $reqMet = $_SERVER['REQUEST_METHOD'];

        for($i = 0; $i < …
Run Code Online (Sandbox Code Playgroud)

php regex routing

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

Javascript路由正则表达式

我需要构建一个路由器,将REST请求路由到正确的控制器和操作.这里有一些例子:

POST /users
GET /users/:uid
GET /users/search&q=lol
GET /users
GET /users/:uid/pictures
GET /users/:uid/pictures/:pid
Run Code Online (Sandbox Code Playgroud)

拥有一个正则表达式并尽可能好,这一点非常重要,因为路由是必不可少的,并且在每次请求时都能完成.

我们首先必须用正则表达式替换:(直到结束或直到下一个正斜杠/),然后我们可以使用它来验证带有请求URL的URL.

我们如何用正则表达式替换这些动态路由?就像搜索以":"开头并以"/"结尾的字符串,结束字符串或"&".

这是我试过的:

var fixedUrl = new RegExp(url.replace(/\\\:[a-zA-Z0-9\_\-]+/g, '([a-zA-Z0-0\-\_]+)'));
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它不起作用.我怎么能实现一个用正则表达式替换:id的正则表达式,或者在与真实请求url进行比较时忽略它们.

感谢帮助

javascript regex

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

Backbone HTTP基本的rest api认证

我正在使用Backbone.js,它与无状态的rest API进行通信.有些调用需要通过HTTP basic进行身份验证.

我不明白的是,不知怎的,我必须验证每个请求,我怎么能安全地做到这一点?我的第一个想法是有一个cookie,存储用户名和密码,但这将是脆弱的?

这可以安全地完成吗?

authentication http basic-authentication backbone.js

8
推荐指数
2
解决办法
6752
查看次数

需要js骨干JS全局模型

我想创建一个UserSession模型,它使用jQuery cookie插件将会话ID加载并保存到cookie中.

这是我的UserSession模型模块的代码:

define(['jQuery', 'Underscore', 'Backbone'],
function($, _, Backbone){

    var UserSession = Backbone.Model.extend({
        defaults: {
            'accessToken': null,
            'userId': null
        },
        initialize: function(){
            this.load();
        },
        authenticated: function(){
            return Boolean(this.get('accessToken'));
        },
        save: function(authHash){
            $.cookie('userId', authHash.id);
            $.cookie('accessToken', authHash.accessToken);
        },
        load: function(){
            this.userId = $.cookie('userId');
            this.accessToken = $.cookie('accessToken');
        }
    })

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

但是我想说我想将它访问到我的登录视图中:

define(['jQuery', 'Underscore', 'Backbone', 'text!templates/login.html', 'models/UserLogin', 'models/UserSession'],
function($, _, Backbone, loginTemplate, UserLogin, UserSession){

    var LoginView = Backbone.View.extend({
        model: new UserLogin,
        el: $('#screen'),
        events: {
            'submit #frm-login': 'login'
        },
        login: function(e){
            e.preventDefault(); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery requirejs backbone.js

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

CSS高级形状(心脏切出背景)

基本上我想在CSS中创建一个形状(所以没有图像),这与心形相反.我不知道如何正确解释它,所以这是一个图像:

在此输入图像描述

正如您所见,蓝色是背景,但我想要创建的形状不是心形,而是黑色矩形的形状.

如果我有以下形状(灰色不是黑色)

在此输入图像描述

我可以复制它然后旋转它,这将给我我正在寻找的形状.

css shapes css-shapes

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

Javascript合并对象与嵌套属性

让我们看一下下面的例子:

var ref = {
    "fullName": {
        "rules": {
            "type": "string",
            "minLength": 4,
            "maxLength": 64
        },
        "description": "Full name of a user."
    }
};

var user = {
    "fullName": {
        "rules": {
            "required": true,
            "maxLength": 128
        },
        "message": "You have submitted a wrong full name."
    }
};
Run Code Online (Sandbox Code Playgroud)

现在我想要的是这个:

  1. 合并对象和属性.
  2. 保留第二个对象的属性(如果已设置)(maxLength)

以下是我期望的结果:

var res = {
    "fullName": {
        "rules": {
            "required": true,
            "maxLength": 128
            "type": "string",
            "minLength": 4
        },
        "description": "Full name of a user.",
        "message": "You have submitted a wrong …
Run Code Online (Sandbox Code Playgroud)

javascript merge object

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