• js学习阶段总结


    typeof操作符:返回字符串,可能是“undefined”,“boolean”,“ string”,“number”,“object”,“function”中的一种,所以不能判断数组。

    NaN(Not a Number):用法NaN(val)如果val能被转化成一个数就返回false,否则返回true。

    parseInt(val,way)其中way可以是2,4...就是要按照这个进制来转化,返回number类型,num.toString(way)同理,只不过返回string类型。

    object类型有一个hasOwnProperty(name)来判断当前对象是在实例中还是原型中。

    每个函数都有个arguments属性对象来记录它的参数,相当于一个参数的数组,用argumentscallee可以递归。

    unshift方法可以从前端向数组推入两个元素并返回长度,用unshift和pop可以反向模拟队列。

    sort(compare),其中compare(val1,val2)方法当val1在val2前面返回-1,后面返回,0好像是不变。

    对数组操作用splice函数,splice(a1,a2,a3......)a1,a2必填a1表示起始位置,a2表示要删除的项数,后面的参数表示从该位置要插入的新值。

    indexOf返回一个val在数组中的位置,lastindexOf()从后面开始数。

    数组的迭代方法:every()每个值都返回true才返回true,filter()返回所有返回true元素的数组,forEach()只是运行函数,没有返回,map()返回函数调用结果组成的数组,some()与every相对,若有一个返回ture则返回true。

    举例:var everyRes = number.every(function(item,index,array){return item>2 ;}) ;//item,index,array三个参数是必填的。

    数组的归并:reduce和reduceRight(),举例:var sum = values.reduce(function(prev,cur,index,array){return prev+cur;}) ;prev代表前一个,cur代表后一个。

    Date类型:var date = new Date(Date.parse("May 25,2004")); var date = new Date(Date.UTC(2015,4,5,17,55,50));

    call和apply区别第一个是this(上下文对象)。

    var obj =eval("("+data+")")来转化json,JSON.parse(data)也可以,两者的区别是eval相当于是把内容当做js来解析,而parse是只转化成obj对象。

    与JSON.parse对应的是JSON.stringify方法,来把obj变成json

    判读一个对象是不是数组:Object.prototype.toString.call(o) == '[object Array]' ;

    如何用用continue跳出两层循环(对break也适用):

    var num = 0 ;
    outer:
    for(var i=0;i<10;i++)
        for(var j=0;j<10;j++)
             {
                    if(i==5&&j==5)
                    {
                            continue outermost ;
                     }
                      num++ ;
                }
    alert(num);//95

    with语句:

    var obj = {
            search : "st" ,
            name : "lala",
            url : "www.123.com"
    } ;
    with(pbj){
        var a = search ;
        var b = name ;
        var c = url ;
    }

     用Object.defineProperty(obj,"key",{

      configurable:true,

         value:"value"

    });这样可以让对象的属性只读。

    用Object.defineProperties可以一次添加多个属性

    Object.defineProperties(book,{
        _year:{
                    value:2004
         },
    
        edition:{
                    value:1
         },
     
         year:{
                    get:function(){
                           return this._year ;
                     }
                     set:function(newValue){
                             if(newValue>2004)
                               {
                                      this._year = newValue ;
                                      edition++ ;
                                }
                      }
                    }
           }
    }) ;
  • 相关阅读:
    nyist_21(三个水杯)(BFS)
    寒假刷题之普通之红与黑
    寒假刷题之普通之变形课
    寒假刷题之普通之最小差
    什么是 Spring Boot
    择业十诫----与内心的渴望同行
    模式窗体中调用父页面Javascript
    二级域名解析
    软件测试
    网狐系统介绍
  • 原文地址:https://www.cnblogs.com/maskmtj/p/4743412.html
Copyright © 2020-2023  润新知