须知

作者: 从此以后dapeng | 来源:发表于2017-02-23 16:10 被阅读4次

vue事件中this指向window

<button v-on:click="clickBtn(this)" value="222">click me</button>
...
clickBtn (arg){
  alert(arg); // 弹出 [object Window]
}

fn.call(obj, arg1, arg2);

表示:调用 fn 函数,将 arg1 和 arg2 传入函数,并将函数内的 this 指向 obj。

function add(a,b)  {  
    alert(a+b);  
}  
function sub(a,b)  {  
    alert(a-b);  
}  
add.call(sub,3,1);  // 调用add函数,将3和1传入,如果函数中有this,将其指向sub函数。

// 结果 alert(4)

bind 函数的兼容处理

if (!Function.prototype.bind) {
    Function.prototype.bind = function(obj) {
        var _self = this
            ,args = arguments;
        return function() {
            _self.apply(obj, Array.prototype.slice.call(args, 1));
        }
    }
}

bind和call的区别

  1. bind返回函数,call执行函数。
  2. call 是 把第二个及以后的参数作为f方法的实参传进去
    而bind 虽说也是获取第二个及以后的参数用于之后方法的执行,但是f_Extend中传入的实参则是在bind中传入参数的基础上往后排的。
function f(a,b,c){
    console.log(a,b,c);
}
f.call(null, 'a'); // a undefined undefined
var f_Extend = f.bind(null,"extend_A");
f_Extend('a'); // extend_A a undefined

立即执行函数中无法赋值

现象如下,不知原因

// 使用立即执行函数
(function c () {
    console.log(c); // Function c
    c = 1000;
    console.log(c); // Function c
})();

// 使用普通函数调用
function c () {
    console.log(c); // Function c
    c = 1000;
    console.log(c); // 1000
};
c();

生成一个范围内的随机数

// Getting a random number between 0 and 1, inclusive
function getRandom() {
  return Math.random();
}

// Getting a random number between two values
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

// Getting a random integer between two values
function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min;
}

相关文章

  • 上饶德兴市函授大专报考须知

    上饶德兴市函授大专报考须知 上饶德兴市函授大专报考须知 上饶德兴市函授大专报考须知 考试须知 1、凡领先志愿报考我...

  • 「简书交友」同城约玩投稿须知

    【简书交友】投稿须知 【交友故事】投稿须知 「情书」投稿须知 这是独立于【简书交友】之外的新玩法。 在交友社群逐渐...

  • 蹦床公园安全守则,你遵守了吗?

    ​​蹦床公园安全守则,你遵守了吗? 商家经营蹦床乐园的安全须知和法律须知 顾客进蹦床公园必须了解的安全须知! 蹦床...

  • 知道|做到

    一个人, 必须知道该说什么, 必须知道什么时候说, 必须知道对谁说, 必须知道怎么说, 对别人述说自己, 是一种天...

  • 我让你记住我了吗?

    现代管理之父德鲁克说:「一个人必须知道该说什么,必须知道什么时候说,必须知道对谁说,必须知道怎么说。」 营销学之父...

  • 2018-11-05

    下单须知

  • 2020新年出游规划

    预定须知

  • 匠工精神——一流人才育成的30条法则

    匠人须知1:进入作业场所前,必须先学会打招呼; 匠人须知2:进入作业场所前、必须先学会联络、报告、协商; 匠人须知...

  • 「简书交友」简书交友故事投稿须知

    【简书交友】投稿须知 【简书同城】投稿须知 「情书」投稿须知 自简书交友专题开设以来,一开始基于标签的自我简介的【...

  • 一流人才育成的30条法则

    匠人须知1 进入作业场所前,必须先学会打招呼 匠人须知2 进入作业场所前,必须先学会联络、报告、协商 匠人须知3 ...

网友评论

      本文标题:须知

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