12.10 改变this的指向

本文深入探讨JavaScript中函数内部this关键字的指向问题,包括通过变量声明、apply、call及bind方法进行this指向修改的技巧。同时,文章详细介绍了Math对象的使用,涵盖了从基本的数学运算到复杂函数的全面解析。

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()

 

转载于:https://www.cnblogs.com/jiangningjn/p/10156018.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值