• javascript实用技巧、javascript高级技巧


    字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( )

    三零网提供网络编程、 JavaScript 的技术文章javascript实用技巧、javascript高级技巧给大家,希望大家喜欢,关键词javascript实用技巧、javascript高级技巧

     下面为各位大家介绍一下 javascript实用技巧、javascript高级技巧,感兴趣的小伙伴一起来看看吧。

    1、 使用===取代==
        ==和!=操作符会在需要的情况下自动转换数据类型。但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快。

    if("1"=="1"){ //速度慢

    }
    if ("1" === "1") { //速度快

    }
    if ("1" != "1") {//速度慢

    }
    if ("1" !== "1") {//速度快

    }

    2、underfined、null、0、false、NaN、空字符串 的逻辑结果均为 false

    3、从数组中随机获取成员

    var array=[12,55,'a',5,8,9,4,94,'fv'];
    var randomItem=array[Math.floor(Math.random() * array.length)];

    4、获取指定范围内的随机数

    var x=Math.floor(Math.random() * (max -min +1))+min;

    5、函数在创建之后直接自动执行,通常称之为自调用匿名函数(Self-Invoked Anonymous Function)或直接调用函数表达式(Immediately Invoked Function Expression )。格式如下:

    (function (){
    //自动执行代码
    })();

    (function (a,b){
    //自动执行代码
    })(4,9);

    6、数组之间追加

    var arrary1=[45,958,68,98,669,85,34];
    var arrary2=[7,54,8,54,57,9,77];
    Array.prototype.push.apply(arrary1,arrary2); //arrary1 的值为:[45,958,68,98,669,85,34,7,54,8,54,57,9,77]

    7、获取数组中的最大值和最小值

    var numbers=[46,4,68,89,87,84,49,16,89,9];
    var maxNumber=Math.max.apply(Math,numbers); //最大值
    var minNumber=Math.min.apply(Math,numbers); //最小值

    8、清空数组

    var array=[15,9,68,76];
    array.length=0;

    9、不要直接从数组中delete或remove元素,  如果对数组元素直接使用delete,其实并没有删除,只是将元素置为了undefined。数组元素删除应使用splice。 删除对象的属性时可以使用delete。

    arrayObject.splice(index,howmany,item1,.....,itemX)

    参数 描述

    index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

    howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。

    item1, ..., itemX 可选。向数组添加的新项目。

    说明

    splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

    如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

    10、保留指定小数位数

    var num=2.9932858;
    num=num.toFixed(4); //num=2.9932

    11、 浮点计算的问题

     0.1+0.2等于0.30000000000000004。JavaScript的数字都遵循IEEE 754标准构建,在内部都是64位浮点小数表示,具体可以参见JavaScript中的数字是如何编码的。
    可以通过使用toFixed()和toPrecision()来解决这个问题。

    toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

    NumberObject.toFixed(num)

    参数 描述

    num 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

    返回值

    返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。

    抛出

    当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

    当调用该方法的对象不是 Number 时抛出 TypeError 异常。

    toPrecision() 方法可在对象的值超出指定位数时将其转换为指数计数法。

    NumberObject.toPrecision(num)

    参数 描述

    num 必需。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的 num。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值。

    返回值

    返回 NumberObject 的字符串表示,包含 num 个有效数字。如果 num 足够大,能够包括 NumberObject 整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有 num-1 位数字。必要时,该数字会被舍入或用 0 补足。

    抛出

    当 num 太小或太大时抛出异常 RangeError。1 ~ 21 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

    当调用该方法的对象不是 Number 时抛出 TypeError 异常。

    12、传给setInterval()和setTimeout()时使用函数而不是字符串

    //不要使用:
    setInterval("Fun_1()",200);
    setInterval("Fun_2()",200);
    //使用:
    setInterval(Fun_1,200);
    setInterval(Fun_2,200);

  • 相关阅读:
    Hibernate的游离态与持久态转换
    怎样区分直连串口线和交叉串口线?
    JAVA 内存泄露的理解
    leetcode第一刷_Validate Binary Search Tree
    Java程序猿的JavaScript学习笔记(8——jQuery选择器)
    Android二维码开源项目zxing用例简化和生成二维码、条形码
    Android Service 服务(一)—— Service
    一个简单的文本编辑器。(是在DEV C++下写的)
    我的Hook学习笔记
    ios网络学习------8 xml格式数据的请求处理 用代码块封装
  • 原文地址:https://www.cnblogs.com/yangmengsheng/p/6019222.html
Copyright © 2020-2023  润新知