码迷,mamicode.com
首页 > 其他好文 > 详细

12.10 改变this的指向

时间:2018-12-21 16:10:10      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:分享图片   dom   数组排序   区别   继承   返回   冒泡排序   abs   使用   

1.解决函数内this指向

  1.可以在函数外提前声明变量_this/that=this

  2.通过apply和call来修改函数内的this指向

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

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

  3.bind修改函数内的this

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

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

2.

技术分享图片相当于写成技术分享图片

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

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

3.变量交换

技术分享图片

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

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

1.借助math中的max

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

2.借助数组中的

   技术分享图片

3.假设法

  技术分享图片

对数组排序的方法

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

   2.冒泡排序

  技术分享图片

二分查找

  4.Math数值对象

    js自带的类    array  number   string  function   date   math  regexp   boolean

math类math对象  有研究一堆的属性和方法

      数学中的弧度和角度

    1.弧度的π      Math.PI

       2 .返回平方根   Math.sprt(16)

    3.Math.abs(x)返回的绝对值

    4.Math.ceil(x)返回x的上舍入

    5.Math.floor(x)返回x的下舍如

    6.Math.max(a,b,c,d)返回a,b,c,d中的最大值  a,b,c,d必须是数字

    7.Math.min(a,b,c,d)返回a,b,c,d中的最小值a,b,c,d必须是数字

    8.Math.random()返回0-1之间的随机数

    9.Math.round(x)返回对x四舍五入后的值

    10.Math.sin(x)返回x的正弦值    对边比斜边

    11.Math.cos(x)返回x的余弦值    邻边/斜边

    12.Math.tan(x)返回x的正切值     对边/邻边

    13.Math.asin(x)

    14.Math.acos()

    15Math.atan()

 

12.10 改变this的指向

标签:分享图片   dom   数组排序   区别   继承   返回   冒泡排序   abs   使用   

原文地址:https://www.cnblogs.com/jiangningjn/p/10156018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!