美文网首页
bind方法最直接的作用体现

bind方法最直接的作用体现

作者: 周紫一 | 来源:发表于2018-04-22 17:40 被阅读3次

获取url地址中的参数:

window.getQueryParameters = function(str) {
        index = document.location.href.indexOf("?")
        str =  document.location.href.substring(index)
        return   str.replace(/(^\?)/,'').split("&").map(function(n){
                            return n=n.split("="),
                                   this[n[0]]=n[1],
                                   this;
                 }.bind({}))[0];
};

1.使用replace方法将?前面的的字符用空格全部替换
2.用split 方法将&分割的各个参数转化为一个数组
3.对数组中的每个元素使用map方法(以数组参数作为参数执行方法)
4.******最关键的一点,使用了bind方法将this指向了一个新创建的对象上
5.最后这段代码还使用了逗号运算符

上面的代码完全可以这样写:

 function getUrl() {
        index = document.location.href.indexOf("?")
        str =  document.location.href.substring(index);
        var params = {};
        str.replace(/(^\?)/,'').split("&").map(function(n){
            n = n.split("=");
            params[n[0]] = n[1];
        });
        return params;
    };

相关文章

  • bind方法最直接的作用体现

    获取url地址中的参数: 1.使用replace方法将?前面的的字符用空格全部替换2.用split 方法将&分割的...

  • bind的使用场景

    bind的使用场景 文章JavaScript容易混淆的地方提到了bind最简单的应用是用于绑定方法的运行时作用域。...

  • 前端面试题

    1.bind(), live(), delegate()的区别 bind: 绑定事件,对新添加的事件不起作用,方法...

  • 面试宝典

    1.bind(), live(), delegate()的区别 bind: 绑定事件,对新添加的事件不起作用,方法...

  • this_原型链_继承

    this相关问题 apply、call 、bind的作用以及区别 call、apply和bind方法的用法以及区别...

  • 高级任务2:this_原型链_继承

    this 相关问题 1. apply、call 、bind有什么作用,什么区别 bind()方法创建一个新的函数,...

  • call() 、 apply() 、bind()方法的作用和区别

    call() 、 apply() 、bind()方法的作用和区别! 从一开始,我是在书上看到关于bind()、ca...

  • JS-call、apply、bind用法

    一、call&apply与bind区别 call和apply方法对函数直接调用bind方法后面还需要()来进行调用...

  • 手动实现bind方法

    接上一篇文章,我们来一起实现一下bind方法老规矩,来分析下bind的作用以及参数,返回值等信息bind方法的全称...

  • laravel 核心 singleton()方法解析

    singleton()主要就是调用bind()方法,只不过直接将shared 参数设为true. 下面进入bind...

网友评论

      本文标题:bind方法最直接的作用体现

      本文链接:https://www.haomeiwen.com/subject/hmeclftx.html