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

}

}

}

数据库排序   游戏排名

二分查找

转载于:https://www.cnblogs.com/bogeyijiu/p/10097155.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值