12.10 改变this的指向

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

时间: 2024-10-12 11:26:37

12.10 改变this的指向的相关文章

【读书笔记】2016.12.10 《构建高性能Web站点》

本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 1.1 等待的真相 1.2 瓶颈在哪里 1.3 增加带宽 1.4 减少网页中的HTTP请求 1.5 加快服务器脚本计算速度 1.6 使用动态内容缓存 1.7 使用数据缓存 1.8 将动态内容静态化 1.9 更换Web服务器软件 1.10 页面组件分离 1.11 合理部署服务器 1.12 使用负载均衡 1.1

Ubuntu 12.10 安装vim出错

在Ubuntu 12.10中安装vim时出现了如下提示: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装.如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造成的.该版本中可能会有一些您需要的软件包尚未被创建或是它们已被从新到(Incoming)目录移出.下列信息可能会对解决问题有所帮助:下列软件包有未满足的依赖关系: vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2.1

解决Ubuntu 12.10中ZIP文件名乱码的方法

转摘源地址:http://blog.csdn.net/jiangxinyu/article/details/8206395 安装(12.04及以上): 代码: sudo apt-get install unar 假设需要解压的ZIP包是foo.zip 代码: lsar foo.zip #列出所有文件 如果列出的文件名已经正确 代码: unar foo.zip #解压所有文件 如果列出的文件名还不正确 代码: lsar -e GB18030 foo.zip #指定使用GB18030编码列出所有文件

[转]Running KVM and Openvswitch on Ubuntu 12.10

Running KVM and Openvswitch on Ubuntu 12.10 I've got an aging VMWare ESXi 4.0 server that needs to be replaced with something a little more modern and flexing. Obviously at home I don't need all the cool features that licensed VMWare comes with, but

Ubuntu 13.04/12.10安装Oracle 11gR2图文教程(转)

Ubuntu 13.04/12.10安装Oracle 11gR2图文教程 原文标题:How to Install Oracle 11G R2 Enterprise Edition Database Ubuntu 12.10 / 12.04 注:原文出自:http://www.techienote.com/tag/oracle-database-11g-r2-on-ubuntu-12-04 Following is the how to for installing Oracle Database

Gerrit审核服务器搭建简易教程(Ubuntu 12.10)

原文出处:http://www.linuxidc.com/Linux/2013-02/79999.htm 1.安装Ubuntu12.xx(本人使用的是12.10,其他版本未测试) 2.配置java环境 下载jdk-6u34-linux-x64.bin(百度google),终端中执行安装(如没有权限,则执行 chmod a+x jdk-6u34-linux-x64.bin) $: ./jdk-6u34-linux-x64.bin 安装会自动执行.安装完后,配置相关环境变量 $: vim ~/.ba

ubuntu 12.10 sourcelist软件更新源列表(zz)

    ubuntu 12.10正式版已经发布了,国内各大开源软件源也陆续更新了资源.今天分享一下ubuntu 12.10 软件更新源列表. 首先,备份一下ubuntu 12.04 原来的源地址列表文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.old 然后进行修改sudo gedit /etc/apt/sources.list 可以在里面添加资源地址,我是直接覆盖掉原来的. 下面是网上找到的一些较好的源,有大型网站的,也有教育网的,可

Ubuntu 12.10 server 安装 Jenkins(搭建)

1.查看Java 是否安装 java -version 2.安装Jenkins wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update su

在Ubuntu 12.10上安装VirtualBox

首先,根据以下官方指引进行安装: https://www.virtualbox.org/wiki/Linux_Downloads 因此,根据你的操作系统的版本号在/etc/apt/sources.list添加以下记录: deb http://download.virtualbox.org/virtualbox/debian trusty contrib deb http://download.virtualbox.org/virtualbox/debian saucy contrib deb h