美文网首页
JavaScript学习笔记(二)

JavaScript学习笔记(二)

作者: 滨滨_57b5 | 来源:发表于2018-12-29 16:38 被阅读0次

    alert() 弹出警告对话框

    prompt() 弹出输入框,点击确定返回输入内容,点击取消,返回null

    str.lenght 获取字符串长度

    new Date().getDay() 获取星期 返回值:number(0-6)

    document.write("内容") 向浏览器输出内容

    函数参数中无论是否有参数,无论参数的个数是多少,在调用函数时可以传任意个参数或者不传参数,因为ECMAScript内部将函数参数生成为一个数组,即arguments对象

    function inner() {//此处没有写参数
        //使用arguments
        console.log(arguments.length);//获取传入的参数的个数
        console.log(arguments[0]);//获取某一个参数值
    }
      inner(10,5);
    

    JavaScript内置对象

    Array
    • 数组中的每一个元素都可以是任意类型且类型各不一样

    创建,push,pop,unshift, shift, join, reverse, sort

     var colors = new Array();
     var colors = new Array(3);//创建有3个元素数组
    var mums = new Array(1,3,6,9);
    var cols = ["red","yellow","green"];
    var infos = [6,"marry",true,{email:"ss@163.com"}];
    cols.length = 2;//把cols数组中的最后一项“green”移除了
    cols[99] = "blue";
    console.log(cols.length); // 100
    cols.push("green","brown");//从末尾添加数组元素,返回结果是新数组的长度
    cols.unshift("pupul","cyan");//从开头添加数组元素,返回结果是新数组的长度
    cols.pop();//删除最后一个元素,返回结果是被删除的那个元素
    cols.shift();//删除第一个元素,返回结果是被删除的那个元素
    cols.join();//把数组转为一个带分隔符的字符串(默认是逗号),返回值是字符串
    cols.join("");//数组元素不带分隔符,传入一个空字符即可
    cols.reverse();//颠倒数组中元素的顺序,返回值是数组
    cols.sort(sortby);//对数组元素进行排序,返回值是数组
    
    var arr = new Array(3);
    arr[0] = 1;
    arr[1] = 2;
    arr[2] = 3;
    arr[3] = 4;
    console.log(arr.length);//结果为4
    console.log(arr[4]);//结果为undefined
    

    注意:sort()方法将所有数组元素都调用了tostring()方法,都转为了字符串,然后按照第一位进行排序

    var arr = [9,23,15,88,12];
    console.log(arr.sort());//结果为[12,15,23,88,9]
    //正确排列数组元素为数值的方法
    arr.sort(function(a,b){ return b-a });//降序排列
    console.log(arr);//结果为88,23,15,12,9]
    

    concat连接数组

    var arr1 = ["a","b","c"],
          arr2 = ["d","e",1,3],
          arr3;
    arr3 = arr1.concat(arr2,["m",99,8]);//concat用于连接两个或多个数组,返回值是数组
    

    slice截取数组元素

    //slice从已有的数组中返回指定的元素,start必须设置,如果是负数,则从数组尾部开始,end可选设置,如果没有设置end,则会从start开始截取到数组结束部分
    
    var colors = ["red","green","blue","yellow","oranges"];
    var newColors = colors.slice(1);//未设置end,截取到数组末尾
    newColors = colors.slice(1,2);
    console.log(newColors);//结果为green
    newColors = colors.slice(1,3);
    console.log(newColors);//结果为[green,blue];
    var newColors3 = colors.slice(-2,4);//此处如果是负数,则start=数组长度+负数,即3
    

    splice删除、插入、替换数组元素

    splice()可以删除数组项、插入数组项、替换数组项
    var arr = ["a","b","c","d","e","f"];
    var delArr = arr.splice(2,2);//删除c和d元素,返回的是被删除元素的数组
    
    var InsertArr = arr.splice(2,0,"v","p");//第一个参数2表示从哪个索引位置开始插入,第二参数表示要删除的个数,此处是插入因此设置为0,后边参数就是插入的元素,插入操作返回值是空数组
    
    var replaceArr = arr.splice(2,2,"z","l");//第一个参数2表示从哪个索引位置开始替换,第二个参数2表示替换的个数,后边对应的是替换的元素,替换操作返回值是从原始数组中删除的元素
    

    indexOf(查找项,可选(起点位置索引)) 从数组的开头开始向后查找,返回值是查找的元素在数组中的索引位置,没有找到返回-1
    lastIndexOf 从结尾开始查找

    var nums = [1,7,5,7,8,1,6,9];
    //检测7在数组中的位置
    var pos = mums.indexOf(7);
    
    String
    • 获取某字符在字符串的索引位置
      字符串加中括号(str[]) 获取指定位置的字符
      charAt()返回指定位置的字符
      charCodeAt() 返回指定位置的字符编码
      indexOf() 从开头搜索指定字符/字符串的位置,如果没有返回-1
      lastIndexOf() 从结尾搜索指定字符/字符串的位置,如果没有返回-1
    • 截取字符串
      slice(start,end) start必需,指定字符串的开始位置;end可选,子字符串到哪里结束,end本事不在截取范围内,省略时截取到字符串末尾
      substring()slice()功能一样,区别就是当参数为负数时,会被当作0;另外会将俩个参数比较,把较小的数作为起始位置,把较大的数作为结束位置
    var str = "hello world";
    console.log(str.substring(-7,5));//(0,5)
    console.log(str.substring(2,-5));//会自动将较小的数作为起始位置,即(0,2)
    

    substr()参数1是起始位置,参数2是截取的长度

    var str = "hello world";
    console.log(str.substr(6,3));
    console.log(str.substr(-5,4));//(6,4)
    
    • 字符串转为数组
      split(separator)

    • 字符串替换
      replace(regexp/substr/replacement) 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,其中参数regexp必需,规定子字符串或要替换的模式的RegExp对象;参数replacement必需,一个字符串值

    var tel = '010-62971268,400-100-9098,010-86789889';
    var newTel = tel.replace(',',"  ")
    
    • 字符串转换大小写
      toUpperCase()
      toLowerCase()
    Math

    Math.min()获取最小值,只要参数中出现一个非数值参数,返回结果就为NaN
    Math.max()
    Math.ceil(num)向上取整,即返回大于num的最小整数
    Math.floor()向下取整
    Math.round()四舍五入取整
    Math.abs()去绝对值

    var num = Math.ceil(189.99);
    console.log(num);//190
    
    • 随机数random
    var random = Math.random();//大于等于0且小于1的随机数
    生成n个到m之间的随机整数
    例如生成2到6之间随机数
    (公式:Math.floor((大值6-小值2+1)*random + 小值2)  )
    
    function getRandom(n,m) {
       var choies = m-n+1;
       return Math.floor(Math.random() * choirs + n);
    }
    var random1 = getRandom(2,6);
    
    
    Date
    • 创建一个日期时间对象 new Date()
    var today = new Date();
    
    获取方法
    getFullYear() 返回4位数年份
    getMonth() 返回日期中的月份,返回值为0-11
    getDate() 返回月份中的天数
    getDay() 返回星期,返回值为0-6
    getHours() 返回小时
    getMinutes() 返回分
    getSeconds() 返回秒
    getTime() 返回表示日期的毫秒数
    
    设置方法
    var today = new Date();
    today.setFullYear(2017);//设置4位数的年份
    console.log(today.getFullYear());//2017
    
    setFullYear(); 设置4位数的年份
    setMonth(mon) 设置日期中的月份,从0开始
    setDate() 设置日期
    setDay() 设置星期,从0星期日开始
    setHours() 设置小时
    setMinutes() 设置分
    setSeconds() 设置秒
    setTime() 以毫秒数设置日期,会改变整个日期
    
    var today = new Date();
    today.setMonth(15);
    console.log(today.getFullYear());//2019,年变为下一年,月为3
    
    
    //获取50天后是星期几?
    //第一种
    today.setDate(today.getDate() + 50 );
    console.log(today.getDay());
    
    //第二种
    var year = today.getFullYear();
    var month = today.getMonth();
    var day = today.getDate();
    
    //传参,如果想根据特定的日期和时间创建日期对象,必须传入表示该日期的毫秒数或是一组用逗号隔开的表示年月日时分秒的参数
    var temp = new Date(year,month,day+50,10,10,10);//50天之后的年月日10点10分10秒
    

    相关文章

      网友评论

          本文标题:JavaScript学习笔记(二)

          本文链接:https://www.haomeiwen.com/subject/eofelqtx.html