zoukankan      html  css  js  c++  java
  • 12.10笔记

    1. 解决函数内this指向
    2. 可以在函数外提前声明变量 _this/that=this
    3. 通过applycall 来修改函数内的this指向

    (1) 二者区别 用法是一样的,就是参数形式不一样  fn.call(obj,a,b)/fn.apply(obj,[a,b])

    (2) 二者代表的是将函数内的this换成obj之后然后把fn调用

    1. bind修改函数内的this

    Fn.bind(obj,a,b) 只是替换了this但是不调用fn,返回的还是函数

    Fn.bind(obj,a,b)()

    相当于写成

    为什么用了call之后里面的names还是张三不是李四??

    fn.call(obj) fn继承obj中的所有属性,只要是继承的可以看成是公有的,天生自带的是私有的,在使用的时候,私有的有就不会找公有的。

    1. 变量交换

    var a=4;

    var b=3;

    var n=null;

    n=a;

    a=b;

    b=n;

    console.log(a,b)

    找出数组中的最大项和最小项

    var a=[45,26,15,54,36,8,4];

    1. 借助mathmax

    Math.max.apply(null,a) 返回值就是最大值

    1. 借助数组中的sort()

    var fn=function(a,b){

    return a-b

    }

    var s=a.sort(function(a,b){return a-b})

    console.log(s[s.length-1])

    3.假设法

     var min=a[0] //假设第一个就是我们需要的最小值

     var num=null;

     for(var i=1;i<a.length;i++){

      if(min>a[i]){

      num=min;

      min=a[i];

      a[i]=num

      }

     }

     console.log(min)

    对数组排序的方法

    1.借助array中的sort(function(a,b){return a-b})

    2.冒泡排序

    var arr=[45,26,15,54,36,8,4];

    var num=null

    for(var j=arr.length-1;j>=0;j--){

    //for(var k=0;k<arr.length-1;k++){

    //for(var i=0;i<arr.length-k;i++){

    for(var i=0;i<=j;i++){

    if(arr[i]>arr[i+1]){

    num=arr[i];

    arr[i]=arr[i+1];

    arr[i+1]=num

    }

    }

    }

    数据库排序   游戏排名

    二分查找

  • 相关阅读:
    mysql_fetch_row()获取显示数据
    数组上下移动
    croppie 在Angular8 中使用
    关于 element 的 backToTop
    苹果手机new Date()问题
    js精简代码集合
    vue 中使用高德地图, 地图选点
    代替if else 的表单验证方法!
    记一次webpack打包样式加载问题
    echarts 饼图的指示线(labelline) 问题
  • 原文地址:https://www.cnblogs.com/bogeyijiu/p/10097155.html
Copyright © 2011-2022 走看看