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的正切值    对边/邻边    

js笔记21的更多相关文章

  1. Ext.Net学习笔记21:Ext.Net FormPanel 字段验证(validation)

    Ext.Net学习笔记21:Ext.Net FormPanel 字段验证(validation) 作为表单,字段验证当然是不能少的,今天我们来一起看看Ext.Net FormPanel的字段验证功能. ...

  2. SQL反模式学习笔记21 SQL注入

    目标:编写SQL动态查询,防止SQL注入 通常所说的“SQL动态查询”是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句. 反模式:将未经验证的输入作为代码执行 当向SQL查询的字符串中插入别 ...

  3. JAVA自学笔记21

    JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 ...

  4. Data Visualization and D3.js 笔记(1)

    课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...

  5. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  6. PPK谈JS笔记第一弹

    以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...

  7. 面向小白的JS笔记 - #Codecademy#学习笔记

    前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...

  8. require.js笔记

    笔记参考来源:阮一峰  http://www.ruanyifeng.com/blog/2012/10/javascript_module.html   1. 浏览器端的模块只能采用“异步加载”方式 = ...

  9. JS笔记 入门第四

    小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...

随机推荐

  1. JAVA并发(1)-AQS(亿点细节)

    AQS(AbstractQueuedSynchronizer), 可以说的夸张点,并发包中的几乎所有类都是基于AQS的. 一起揭开AQS的面纱 1. 介绍 为依赖 FIFO阻塞队列 的阻塞锁和相关同步 ...

  2. [PTA]7-3 逆序的三位数 (10分)

    要求: 程序每次读入一个正3位数,然后输出按位逆序的数字.注意:当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 正确思路: 拆分字符串后拼接成整数 1 #includ ...

  3. Spring Cloud 升级之路 - 2020.0.x - 7. 使用 Spring Cloud LoadBalancer (2)

    本项目代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 我们使用 Spri ...

  4. 西门子 S7-200 通过以太网通讯模块连接MCGS 通讯

    北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...

  5. Django(41)详解异步任务框架Celery

    celery介绍   Celery是由Python开发.简单.灵活.可靠的分布式任务队列,是一个处理异步任务的框架,其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务.Celery ...

  6. 危险!水很深,让叔来 —— 谈谈命令查询权责分离模式(CQRS)

    多年以前,那时我正年轻,做技术如鱼得水,甚至一度希望自己能当一辈子的一线程序员. 但是我又有两个小愿望想要达成:一个是想多挣点钱:另一个就是对项目的技术栈和架构选型能多有点主动权. 多挣点钱是因为当时 ...

  7. windows下nginx配合nodejs进行反向代理

    本文原创,转载请附上原作者链接!https://www.cnblogs.com/LSWu/articles/14848324.html 1.安装node.js 从node.js官网上下载node.js ...

  8. SpringBoot 实现整合log4j2日志

    关于日志级别 共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF. ...

  9. JMeter逻辑控制器完整介绍

    JMeter逻辑控制器可以对元件的执行逻辑进行控制,就像编程一样,实现业务需求. JMeter包括了以下逻辑控制器: 一共17种.除了仅一次控制器外,其他控制器下可以嵌套别的种类的逻辑控制器. If ...

  10. redis中AOF和RDB的关闭方法

    redis中AOF和RDB的关闭方法   问题:当往redis中导入数据时,有时会出现redis server went away的情况: 原因: 导入的数据量太大,而内存不够(即内存1G,但数据有2 ...