你的位置:首页 > Java教程

[Java教程]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++ ;              }         }        }    }}) ;
复制代码