js高级3

时间:2022-09-22 09:34:08

1.解决函数内this的指向

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

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

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

  (2)二者代表的是将函数内的this换成obj之后然后把fn调用

  3.  bind修改函数内的this

  Fn.bind(onj,a,b) 只是替换了this但是不调用fn,返回的还是函数

  Fn.bind(obj,a,b)()

2.

js高级3相当于写成js高级3

为什么用了call之后里面的names还是张三不是李四??

fn.call(obj) 是fn继承了obj中的所有属性,只要是继承的可以看成是公有的。

3.变量交换

var  a=4;

var   b=3;

var    n=null;

n=a;

a=b;

b=n;

console.log(a,b)

找出数组中的最大项和最小项

1.     借助math中max

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

2.  借助数组中的sort()

    var   fn=function(a,b){

      return     a-b

  }

    var      s=a.sort(function(a,b){return   a-b})

    console.log(s[s.length-1])

3.假设法

var min=a[0]              //假设第一个就是我们需要的最小值

var num=null;

for(var i=1; i<a.length; i++){

  if(min>a[i]){

  num=min;

  min=a[i];

  a[i]=num

  }

}

console.log(min)

对数组排序的方法

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

2.冒泡排序

var arr=[45,26,15,54,36,8,4];

var num=null

for(var j=arr.length-1; j>=0; j--){

方法一:    for(var k=0; k<arr.length-1; k++){

  方法二: for(var i=0; i<arr.length-k; i++){

      for(var i=0; i<=j; i++){  

        if(arr[i]>arr[i+1]){

         num=arr[i];

         arr[i]=arr[i+1];

         arr[i+1]=num

}

}

}

可用于数据库排序       游戏排名

二分查找

4.Math数值对象

js自带的类    array   number     string     function    math    regexp     boolean

Math类      math 对象     右研究一堆的属相和方法

数学中的弧度和角度

1.弧度的π           Math.Pl

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

13.Math.asin(x) 

14.Math.acos()

15.Math.atan()

js高级3

js高级3的更多相关文章

  1. JS高级前端开发群加群说明及如何晋级

    JS高级前端开发群加群说明 一.文章背景: 二. 高级群: 三. 加入方式: 四. 说明:   一.文章背景: 去年年初建了几个群,在不经意间火了,一直排在“前端开发”关键字搜索结果第一名.当然取得这 ...

  2. 前端进阶试题css(来自js高级前端开发---豪情)既然被发现了HOHO,那我就置顶了嘿嘿!觉得自己技术OK的可以把这套题目做完哦,然后加入高级前端的社区咯

    http://www.cnblogs.com/jikey/p/4426105.html js高级前端开发加群方法(此群很难进,里面纯技术,严禁广告,水群) 完整题目做完发邮箱(jikeytang@16 ...

  3. Node&period;js高级编程读书笔记Outline

    Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程 ...

  4. 读JS高级——第五章-引用类型 &lowbar;记录

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. js高级程序设计笔记之-addEventListener&lpar;&rpar;与removeEventListener&lpar;&rpar;&comma;事件解除与绑定

    js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener( ...

  6. 《JS高级程序设计》笔记 —— 解析查询字符串

    今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...

  7. js 高级函数 之示例

    js 高级函数作用域安全构造函数 function Person(name, age)    {        this.name = name;        this.age = age;     ...

  8. 惰性函数——JS高级

    我们先来看一下js的异步提交. XHR我们在原生的时候常常用到,因为常用到,我们更多把封装到了工具库中 先看下他最常用的实现 // 旧方法 function createXHR() { var xhr ...

  9. 《Node&period;js 高级编程》简介与第二章笔记

    <Node.js 高级编程> 作者简介 Pedro Teixerra 高产,开源项目程序员 Node 社区活跃成员,Node公司的创始人之一. 10岁开始编程,Visual Basic.C ...

  10. js高级-面向对象继承

    一.工厂模式创建对象及优缺点 继承就是把公共的部分抽象出来作为父类,基类.吃饭,跑步等 var a = {}; //批量创建不方便,不能重复设置公共属性的代码 //工厂模式出现了,创建10个Cat对象 ...

随机推荐

  1. java程序调用存储过程

    java程序调用存储过程       PL/SQL子程序,很多情况下是给应用程序来调用的,所有我们要掌握使用其他编程语言来调用我们写好的存储过程.下面我们介绍下使用java调用Oracle的存储过程. ...

  2. &lbrack;设计模式&rsqb; Javascript 之 外观模式

    外观模式说明 说明:外观模式是用于由于子系统或程序组成较复杂而提供的一个高层界面接口,使用客户端更容易访问底层的程序或系统接口; 外观模式是我们经常使用遇到的模式,我们经常涉及到的功能,可能需要涉及到 ...

  3. JavaScript闭包演示

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. Bloom Filter 算法具体解释

    Bloom Filter 算法 Bloom filter是由Burton Bloom 在1970年提出的,其后在P2P上得到了广泛的应用.Bloom filter 算法可用来查询某一数据是否在某一数据 ...

  5. spring的Java配置入门(Spring Boot学习笔记之一)

    spring的Java配置 1.创建maven项目 使用idea创建maven项目,这里顺便提一下,idea真的比eclipse好用,早点熟悉吧.然后就是maven是java项目管理最主流的工具,自己 ...

  6. 设备类型检测大全---userAgent

    对各种类型的设备的检测,以及所使用的浏览器的类型 function detect(ua) { var os = this.os = {}; var browser = this.browser = { ...

  7. Unhandled event loop exception No more handles

    1.错误描述 2.错误原因 3.解决办法

  8. Java 多线程并发编程之 Synchronized 关键字

    synchronized 关键字解析 同步锁依赖于对象,每个对象都有一个同步锁. 现有一成员变量 Test,当线程 A 调用 Test 的 synchronized 方法,线程 A 获得 Test 的 ...

  9. 全网Star最多(近20k)的Spring Boot开源教程 2019 年要继续更新了!

    从2016年1月开始写博客,默默地更新<Spring Boot系列教程>,从无人问津到千万访问,作为一个独立站点(http://blog.didispace.com),相信只有那些跟我一样 ...

  10. ExtJS表格——行号、复选框、选择模型

    本篇的内容是为表格添加行号,和复选框,最后谈一下Ext的选择模型.内容比较简单,就直接上代码了.一. 设置行号   行号的设置主要问题在于删除某一行后需要重新计算行号  Ext.onReady(fun ...