zoukankan      html  css  js  c++  java
  • JS基础知识

    一、获取未设置行内元素的样式

    getComputedStyle(document.getElementById("div1").width)在IE6,7,8下不兼容;

    document.getElementById("div1").currentStyle.width 在标准浏览器下不兼容

    解决办法:属性判断

    用上面两个方法,应注意以下问题:

    • 获取到的是计算机(浏览器)计算后的样式
    • background: url() red …… 复合样式(不要获取)
    • backgroundColor 单一样式(不要用来做判断)
    • 不要有空格
    • 不要获取未设置后的样式:不兼容

    二、定时器

    • setTimeout("function",time) 设置一个超时对象,time为毫秒 
    • setInterval("function",time) 设置一个超时对象,time为毫秒
    • setInterval为自动重复,setTimeout不会重复,只执行一次。 
    • clearTimeout(对象) 清除已设置的setTimeout对象 
    • clearInterval(对象) 清除已设置的setInterval对象 

    注意,在设置setInterval的时候,如果定时器由事件控制,先关再开为宜,避免多次设置定时器问题。

    三、系统时间对象

    1、系统时间对象:var mytime=new Date();

    • 获取年:var iyear=mytime.getFullYear();                          //typeof object

        //以下函数的typeof number

    • 获取月:var iMonth=getMonth()+1;                                (1月是从0开始,所以要+1)
    • 获取日:var iDate=getDate();
    • 获取星期:var iWeek=myTime.getDay();
    • 获取时:var iHours=getHours
    • 获取分:var iMinutes=getMinutes
    • 获取秒:var iSeconds=getSeconds

    2、计算倒计时

    四、字符串相关方法

    var str="www.baidu.com";

    1、charAt()             //查找字符串

    2、charCodeAt         //编码    0-9对象48-57    a-z对应97-122  A-Z 对应65-90

    3、String.fromCharCode(22937);     //根据Unicode 编码返回对应汉子

    4、indextOf(‘w’,1)              //从左至右找对应字符串的位置,一个个参数为要找的字符,第二个参数为起始位置(默认从0开始)不能为负值;返回值为要找字符串的开始位置

    5、lastIndexOf          //从右往走找对应字符串的位置

    6、字符串比较,比较 Unicode 编码,第一位能比较出大小,之后就不比较了

    7、str.substring(0,2)    //ww      参数可以互换位置str.substring(2,0),结果一样

        str.substring()       //www.baidu.com     整个字符串

        str.substring(-3,2)  //ww       -3当0处理

    8、str.slice(0,2)         //ww

        str.slice(2,0)         // 返回空,第2位找不到字符串的第0位            参数不能互换位置

        str.slice(-2)        //om         参数为负数,从后面开始截取

    9、转换成大写:str.toUpperCase();

         转换成小写:str.toLowerCase();

    10、将字符串转成数组

    str.split(".");       //["www","baidu","com"]         不放分隔符,整个当成数组第一项

    var str1="leo";   str1.split("")      //["l","e","o"]

    var str2="我爱你";   str2.split(爱)     //["我","你"]

    var str3="/www.baidu.com/";       str3.split("/");      //[ ""."www.baidu.com".""]    分隔符左右都占内容,如果左边没有字符,当空字符串处理

          str.split(".",2)     //["www","baidu"]    分隔后截取份数,第二个参数可选

    11、var arr=["aa","bb",cc""];        //把数组进行拼接,没有参数的话默认用,连接

          arr.join();          //"aa,bb,cc"      

          arr.join("");        //"aabbcc"

          arr.join("-");       //"aa-bb-cc"

    五、数组相关方法

    1、JSON数据格式及语法格式

    var json={"name":"leo",age:3,fun:"开发"};

    for(var attr in json){                   

    alert(attr);  //attr是键名,返回name,age,fun

    alert(json[attr])  //返回键值,返回leo,3,开发

    }

    var json1={

      "url":["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg"],

      "text":["图片1","图片2","图片3","图片4"]

    };

    for(var attr in json1){

      for(var i=0;i<json1[attr].length;i++){

           alert(json1[attr[i]]);

    }

    }

    2、for in可以遍历数组

    var arr=["a","b","c"];

    for i in arr{

      alert(i);   //0,1,2

      alert(arr[i]);  //a,b,c

    }

    3、快速清空数组arr.length=0;或者赋值空数组arr=[];对于长数组,后者方法相对效率高一点

    4、数组的方法

    var arr=[1,2,3];

    • 添加:arr.push(4);     //push方法返回值为数组长度
    • 往前面添加:arr.unshift(0);    //返回数组长度,IE6,IE7不支持此方法的返回值
    • 删除:arr.pup();        //删除数组,返回被删除的对象
    • 往前面删除:arr.shift();       //返回被删除的对象
    • 指定删除:arr.splice(0,2);     //第一个参数为开始位置,第二个参数为删除几个,返回值为删除对象,修改数组长度
    • 替换元素:arr.splice(0,1,4)  //替换第一个元素为4,返回删除的对象            //arr=[4,2,3]
    • 在元素中间添加:arr.splice(1,0,5)    //  1位置开始,删除0个,替换为5,无返回值    //arr=[1,5,2,3]

    六、排序

    1、var arr=["c","d","a","e"]              arr.sort();      //a,c,d,e       //根据Unicode 编码,对字符进行排序

    2、var arr1=[4,3,5,76,2,0,8]           arr1.sort();      //0,2,3,4,5,76,8       //默认情况下以字符串进行排序

    3、比较排序函数

    arr1.sort(function(a,b){

      return a-b;           //第一个参数减去第二个   从小到大排序;第二个参数减去第一个   从大到小排序;

    })

    七、随机数

    1、0~1之间随机小数:Math.random();

    2、四舍五入:Math.round();

    3、0~10之间整数:Math.round(Math.random()*10);

    4、5~10之间整数:Math.round(Math.random()*5+5);

    5、10~20之间整数:Math.round(Math.random()*10+10);

    6、20~100之间整数:Math.round(Math.random()*80+20);

    公式:X~Y之间整数:Math.round(Math.random()*(y-x)+x);

    七、数学方法

    向上取整:Math.cell(12.5)    //13

    向下取整:Math.floor(12.5)  //12

    四舍五入:Math.round(12.4);   //12

    绝对值:Math.abs(-5)   //5 

    八、其他方法

    (一)concat数组连接

    1、var arr1=[1,2,3];var arr1=[4,5,6];var arr1=[7,8,9];

         arr1.concat(arr2,arr3);      //1,2,3,4,5,6,7,8,9

    (二)reverse数组颠倒

    arr.reverse()              //3,2,1

    注意:如何颠倒字符串?var str="abcdef";    str.split(").reverse().join("");

  • 相关阅读:
    GUI的最终选择Tkinter模块初级篇
    JavaScript的进阶篇
    html标签详解
    docker使用自定义镜像zabbix服务
    Django之url定义和ORM框架的使用
    zabbix实现企业微信监控报警
    centos6 搭建nginx实现负载均衡
    mysql数据库进阶篇
    Linux运维之Ansible自动化运维管理工具
    php菜刀分析学习
  • 原文地址:https://www.cnblogs.com/BetterMyself/p/5635580.html
Copyright © 2011-2022 走看看