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

    1.解决函数内的this指向

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

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

      二者的区别:

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

      二者代表的是将函数内的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.变量交换

      

    4.找出数组中最大项和最小项

      例子:var a=[45,26,15,54,36,8,4]

      (1)借助math中的max

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

      (2)借助数组中sort()

        

      (3)假设法

        

        

    5.对数组排序的方法

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

      (2)冒泡排序

        

        一般用于数据排序  游戏排名

    6.Math 数值对象

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

      Math类  math对象,研究它的部分属性和方法

      数学中的弧度和角度

      (1)弧度的 π   Math.PI

      (2)Math.sqrt(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的正切值    对边/邻边    

  • 相关阅读:
    fiximulator
    Maven POM 模板[z]
    Sentinel 实战-控制台篇[z]
    Sentinel 实战-限流篇[z]
    RPC 框架
    如何手写实现简易的Dubbo[z]
    降级、熔断、限流[z]
    Transfix
    Memcached和Memcache安装(64位win7)[z]
    Oracle分区表例子
  • 原文地址:https://www.cnblogs.com/panghexin/p/10098633.html
Copyright © 2011-2022 走看看