复习JavaScript

Posted 一只CIA鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复习JavaScript相关的知识,希望对你有一定的参考价值。

推荐书本《javascript入门经典》《JavaScript语言精粹》

 

JavaScript的内置对象类型:
String对象:

  1.length属性

  2.indexOf()和lastIndexOf()方法  (查找子串)  没找到返回-1  

    带有两个参数:需要查找的字符串/开始查找的字符位置(可选)   indexOf()是直接从一开始进行查找而lastindexOf()则查找最末尾的匹配字符串

  3.substr()和substring()方法  (复制字符串的一个子串)

    substring()接受两个参数:子串开始位置  /  子串最后一个字符后面的字符位置。  substr()接受两个参数:子串要包含的第一个字符的起始位置  /  提取子串的长度

  4.toLowerCase()和toUpperCase()方法  (转换大小写)不带任何参数

  5.charAt()和charCodeAt()方法  (从字符串中选取一个字符)

    charAt()接受一个参数:所选字符在字符串中的索引位置,返回字符本身  charCodeAt()接受一个参数,返回该字符在Unicode字符集中的十进制编码

  6.fromCharCode()方法  (将字符编码转换为字符串)【   String.fromCharCode(Unicode编码)  】

    给他传送一系列用逗号分隔的,表示字符编码的数字,该方法就会把他们转换为一个字符串。是一个静态方法,不需要创建对象

  7.trim()方法  (去掉字符串两边空格)

新的字符串方法:

  1.split()方法  将一个字符串拆分成一个子串数组,在何处拆分字符串由传给该方法的分割参数确定, 这个参数可以使一个字符或文本字符串

    反转字符串:

var value = prompt("please input your text:")
    function reverseText(val){
        var part = value.split("")
        part.reverse()
        var reversetext = part.join("")
        document.write(reversetext)
    }
reverseText(value)

  2.replace()方法 (替换子串)  返回字符串的值

    replace()方法接收两个参数,第一个为要查找的字符串,第二个为要替换的字符串

  3.search()方法  (查找子串)  找到返回子串在字符串中的位置,没找到返回-1

    search()方法接收一个参数,即要查找的子串

  4.正则表达式 ——> 内容比较重要,见新随便

Array对象:(数组的本质上是一种对象)

  1.length属性  (获得数组找中元素个数)

  2.push()方法  (添加元素)

  3.concat()方法 (连接数组)  array1.concat(array2) —> 用concat连接的数组输出后数组之间会有逗号,因为concat使数组长度加一

  4.slice()方法  (复制数组的一部分,和substring类似)

    slice()接收两个参数:欲复制的第一个元素的索引 / 表示所复制的部分末尾的元素索引(可选)

  5.join()方法  (将数组转换为单个字符串)

    join()方法将数组中的所有元素连接起来,并返回为一个字符串,允许指定在连接数组元素时插入其间的任意字符。

  6.sort()方法  (对数组进行排序 按照Unicode编码顺序)

  7.reverse()方法  (反转数组元素原来的顺序)

  8.indexOf()和lastIndexOf()方法  (返回元素在数组中的位置)

  9.迭代数组,但不使用循环(下面的五个方法):

    这些方法在迭代数组时,会在每个元素上执行用户定义的函数 例:

 function functionName(value ,index ,array){
    do something
  }

    every(),some(),filter()方法——测试每个元素:(参数为测试函数)

var number = [1,2,3,4,5]
    function islessthan3(value, index, array){
        var istruevalue = false
        if(value < 3)
            istruevalue = true
        return istruevalue
    }

    document.write(number.some(islessthan3)+"<br>")
    document.write(number.every(islessthan3))    

    上面的代码检索出小于3的元素,那么如何找到这些元素,要用到filter()函数

if(number.some(islessthan3)){
        var sm3 = number.filter(islessthan3)
        document.write(sm3)
        console.log(typeof(sm3))
    }

    forEach()和map()方法:(操作元素)

      foreach()和map()方法的区别在于foreach方法中参数的函数不能有返回值,只能对数组的元素进行操作,不能存储函数的结果。而map方法返回一个包含函数执行结果的新数组。

function doubleAndAlert(value, index, array){
        var result = value*2
        document.write(result)
    }
    function doubleAndAlert2(value, index, array){
        var result = value*2
        return result
    }
    var array = [1,2,3,4]
    array.forEach(doubleAndAlert)
    alert(array.map(doubleAndAlert2))

Math对象:    注:paresInt()是一个JavaScript内置函数,不是Math对象方法

  1.abs()方法  (取绝对值)

  2.min()和max()方法  (最大值和最小值)

  3.ceil()方法  向上强制进位取整

  4.floor()方法  向下强制舍位取整

  5.round()方法  四舍五入

  6.random()方法  返回随机浮点数

  7.pow()方法  幂函数

Number对象:

  toFixed()方法  该方法可以在指定点处截取一个数字,还会进行四舍五入操作。只有一个参数

 Date对象:
  var thedate = new Date(" 31 january 2020") 或 var thedate = new date(年,月,日,小时,分钟,秒,毫秒)

  获得日期值:
    1.getDate()月份中的第几天  2.getDay()表示星期几的整数  3.getMonth()表示月的整数  5.getFullYear()以四位数表示的年份  6.toDateString()基于当前时区返回完整日期字符串

var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
    var days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
    var date = new Date();
    // document.write(date);
    var showmonth = months[date.getMonth()];//月份
    var showday = days[date.getDay()];//星期
    var    showdate = date.getDate();//日期
    var    showyear = date.getFullYear();//年份
    var    datematch;
    switch(showdate){
        case 1:
        case 21:
        case 31:
            datematch = "st"
            break
        case 2:
        case 22:
            datematch = "nd"
            break
        case 3:
        case 23:
            datematch = "rd"
            break
        default:
            datematch = "th"
            break
    }

    document.write("it is the "+showdate+datematch+" day <br>")
    document.write("in the month of "+showmonth+"<br>")
    document.write("in the year of "+showyear+"<br>")
    document.write("and it‘s "+showday)

  设置日期值:

  1.setDate()设置月中的天数  2.setMonth()设置月份(0表示1月)  3.setFullYear()设置年份

  获得时间值:
  1.getHours()  .2.getMinutes()  3.getSeconds()  4.getMilliseconds()  5.toTimeString()

  设置时间值:

  1.setHours()  .2.setMinutes()  3.setSeconds()  4.setMilliseconds()

创建对象:

  var obj = new Object(); 或 var obj = {};

  使用字面量的方法来创建对象:

var obj = {
        firstName : "nihao", 
        lastName: "shabi", 
        greet : function(){
            alert(this.firstName+this.lastName);
        }, 
    }

  使用prototype定义共享方法让效率变得高效:

Person.prototype.getFullName(){
    XXXX;        
}

 日期时间和计时器:

  世界时:

// 世界时
        var localtime = new Date();
        // document.write(localtime)
        var html = "<p>UTC Time is "+localtime.toUTCString()+"</p>"//转换为对应的UTC日期和时间,字符串类型
            html += "Local time is "+localtime.toLocaleString()+"</p>"//返回用户计算机的时间,字符串类型
            html += "<p>time zone offset is "+localtime.getTimezoneOffset()+"</p>"//返回本地时间和UTC时间的差值(min)
            html += "<p>using toLocaleTimeString gives "+localtime.toLocaleTimeString()+"</p>"//返回计算机上的时间
            html += "<p>using toTimeString gives "+localtime.toTimeString()+"</p>"//显示时间和对应的时区
            html += "<p>using toLocaleDateString gives "+localtime.toLocaleDateString()+"</p>"//显示用户计算机上的日期
            html += "<p>using toDateString gives "+localtime.toDateString()+"</p>"//标准日期格式    
        document.write(html)

  设置和获取Date对象的UTC时间/日期:

  setUTCDate()  setUTCFullYear()  setUTCHours()  setUTCMilliseconds()  setUTCMinutes()  setUTCMonth()  setUTCSeconds()

  getUTCDate()  getUTCDay()  getUTCFullYear()  getUTCHours()  getUTCMilliseconds()  getUTCMinutes()  getUTCMonth()  getUTCSeconds()  toISOString()

  ISO格式:YYYY-MM-DDTHH:mm:ss.sssZ  (字符T隔开时间和日期,Z表示UTC时区)

计时器:

    var timeId = setTimeout(yourfunction,millisecondsDelay)
    clearTimeout(timeId)
    var timeId = setInterval(yourfunction,millisecondsDelay)
    clearInterval(timeId)

 

以上是关于复习JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

30秒就能看懂的JavaScript 代码片段

常用Javascript代码片段集锦

48个值得掌握的JavaScript代码片段(上)

如何将此 JavaScript 代码片段翻译成 Parenscript?