JavaScript中常用函数集合

说明

我们都知道函数在JavaScript中的地位是非常重要的,函数式编程是这门语言的精髓,本文不会在这里针对函数去展开,后面我会详细介绍JavaScript的函数式编程的一些概念,这里主要是收集一些我们平时常用到的函数,如果能熟练应用的话会对你的编程速度有很大的提高。希望能帮助到更多的人:)

常用函数集合

  1. 将类数组对象转换为真数组

    1
    2
    3
    function arrayify(a){
    return [].slice.call(a);
    }
  2. 判断是否移动设备访问

    1
    2
    3
    4
    5
    6
    7
    8
    //first
    var ua = navigator.userAgent.toLowerCase(),
    isMobile = ua.search( /(iphone)|(ipod)|(android)/ ) === -1; //false是移动设备,true不是
    //second
    function isMobileUserAgent(){
    var ua = navigator.userAgent.toLowerCase();
    return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(ua));
    }
  3. 获取当前路径

    Read More

JavaScript中call,apply,bind以及this的理解

说明

在JavaScript中调用一个函数将暂停当前函数的执行,传递控制权和参数给新函数。除了声明时定义形参,每个函数接收两个附加的参数:thisarguments。参数this在面向对象中非常重要,它取决于调用的模式。在JavaScript中共有四种调用模式:方法调用模式、函数调用模式、构造器调用模式、和apply(),call()方法调用模式。这些模式在如何初始化关键参数this存在差异。本文首先要提到的是this,抛开this单独去说这些方法是没有意义的。然后是如何妙用call,apply,bind这些方法去改变this的指向。

目录

  • this在不同模式下的意义
  • 借鸡下蛋之妙用call,apply
  • 深入理解bind函数

    Read More

JavaScript原生数组

说明

数组是类似列表的对象,在原型中提供了一些遍历以及改变其中对象的方法。JavaScript数组的长度及其中元素的类型都是不固定的。因为数组的长度可以随时增长或缩减,所以JavaScript 数组不保证是密集的。通常情况下,这是一些方便的特性;如果这些特性不适用于你的特定使用场景,你可以考虑使用固定类型数组。在JavaScript中数组可以使用数组构造函Array被创建,为了方便一般用中括号[]创建,Arrays继承Object的原型.typeof检测数组的类型会返回object,可是使用[]instanceof Array,会返回true,也就是说在JavaScript中存在类似数组的Array-like的对象objects,例如:strings,arguments对象,arguments对象不是数组的实例,但是它有length属性,它的值和数组的下标属性之间是有关系的并且length是可变的(例如, push, splice, 等) 会改变Arraylength属性。因此它可以像任何数组一样去遍历.这篇文章主要介绍一些Array.prototype中常用的方法,尽可能揭开每一种方法的真面纱。

JavaScript-Array
你可以在你的浏览器控制台里面尝试!

Read More