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的正切值 对边/邻边
js笔记21的更多相关文章
- Ext.Net学习笔记21:Ext.Net FormPanel 字段验证(validation)
Ext.Net学习笔记21:Ext.Net FormPanel 字段验证(validation) 作为表单,字段验证当然是不能少的,今天我们来一起看看Ext.Net FormPanel的字段验证功能. ...
- SQL反模式学习笔记21 SQL注入
目标:编写SQL动态查询,防止SQL注入 通常所说的“SQL动态查询”是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句. 反模式:将未经验证的输入作为代码执行 当向SQL查询的字符串中插入别 ...
- JAVA自学笔记21
JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 ...
- Data Visualization and D3.js 笔记(1)
课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- PPK谈JS笔记第一弹
以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...
- 面向小白的JS笔记 - #Codecademy#学习笔记
前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...
- require.js笔记
笔记参考来源:阮一峰 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 1. 浏览器端的模块只能采用“异步加载”方式 = ...
- JS笔记 入门第四
小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...
随机推荐
- [bug] java.sql.SQLException: Unknown initial character set index '255' received from server. Initial cl...
参考 https://www.jianshu.com/p/d86de6463cbd
- [OS] 概述&学习资料
计算机启动 启动自检 初始化启动 启动加载 内核装载 登录 中断 硬件中断 I/O设备 CPU Timer:时间片结束后,发中断给CPU Scheduler:将CPU合理分配任务使用 异常中断 内存: ...
- [Java] 数据库编程JDBC
背景 持久化:把Java对象保存在硬盘中 序列化:将对象转换为二进制对象,再保存 保存在关系型数据库中 Object-Relational Mapping(对象-关系映射框架,或ORM框架):把对象属 ...
- 【Linux】Linux中在mate桌面和gnome桌面root自动登录设置
[Linux]Linux中在mate桌面和gnome桌面root自动登录设置 GLL_ 2020-03-05 11:41:40 762 收藏 1 分类专栏: Linux 文章标签: linux 版 ...
- Docker------Idea连接远程并生成和上传镜像
1.Docker开启远程访问连接 备注: 1)Linux是CentOS7版本 2)安装Docker可参考: https://www.cnblogs.com/tianhengblogs/p/125202 ...
- Python socket 编程实验
实验内容 1.编写一个基于UDP协议的客户机与服务器程序,实现相互通讯. 2.编写一个基于TCP协议的客户机与服务器程序,实现相互通讯. 3.捕获以上两种通讯的数据包,使用Wireshark进行分析, ...
- Linux创建RAID5_实战
Linux创建RAID5实战 Linux创建RAID5 RAID5最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证 RAID5最多能允 ...
- 遇到问题 DS1302读取数据有问题
读出的数据 错误的原因 是因为 DS1302的初始化函数中 移植的时候 没有改要使能的端口号 但是我的板子用另一个(如下的工程单独下载进板子后可以运行)还是可以用的 原因是 而我那个 读数据全为 ...
- ThinkPHP无限级分类(递归)
代码演示 没什么可说的直接看代码 <?php namespace app\controller; class Category { //模拟假数据 protected static functi ...
- [LeetCode] 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
都儿童节了,为什么要折磨一个几百个月大的孩子? 把题意读懂挺难的.不过读懂后基本也就知道怎么做了.恶心的是int类型可能会越界,要用long类型(很难想到).这题不好 [1744. 你能在你最喜欢的那 ...