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"); 这 ...
随机推荐
- xxl-job源码阅读二(服务端)
1.源码入口 xxl-job-admin是一个简单的springboot工程,简单翻看源码,可以很快发现XxlJobAdminConfig入口. @Override public void after ...
- Spring的Xml和JavaConfig 扩展你选哪一个?
引言 上一篇文章我们有怎么介绍到如何通过XML的形式来定义Spring的扩展<Spring面试高频题如何:自定义XML schema 扩展>,好多人都在吐槽现在都什么年代了,xml还有人再 ...
- Jira&Confluence服务器安装
1.Mysql安装 参考https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html 创建相应的数据库 CREAT ...
- 047.Python前端html
一 HTTP协议 1.1 HTTP请求 URL: 协议/IP:端口/路径?GET参数 基于请求响应 请求协议格式 GET URL路径?a=1&b=2 HTTP # 请求首行 user-age ...
- MyBatis 延迟加载(十四)
什么是延迟加载 延迟加载又叫懒加载,也叫按需加载,也就是说先加载主表信息,需要的时候,再去加载从表信息.代码中有查询语句,当执行到查询语句时,并不是马上去数据库中查询,而是根据设置的延迟策略将查询向后 ...
- 7.2-5 usermod
7.2 usermod:修改用户信息 usermod 命令用于修改系统已经存在的用户的账号信息. -c comment 修改用户password文件中用户的说明栏,同useradd ...
- 9.1 ps:查看进程
ps命令 用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片.如果想要动态地显示进程的信息,就需要使用top命令,该命令类似于把手机切换成录像模式.因为ps命令的功能实在是太多了, ...
- window location href is not a function(Day_36)
报window location href is not a function错误的解决方案: 原因: JS报错是由于写法问题或浏览器不兼容导致的,具体解决方法如下: 原来报错的写法: window. ...
- MarkDown笔记一
目录 目录 字体 标题 下划线标题 #号标题 加重与斜体 高亮 删除线 上标与下标 脚注 转义字符 分割线 段落 空行 结尾两个空格 区域引用 每行> 每段> 可嵌套 目录 把文档中所有标 ...
- java为什么是一次编译,多次解释
在编程语言中分为编译型语言.解释型语言,而我们的java语言既是编译型的也是解释型的,因为比如c语言是编译型的,因为我们将c语言的源代码编译过后就形成了.exe文件,这样windows系统就可以直接运 ...