随笔分类 -  JavaScript

摘要:科里化:这是函数闭包的一种特殊形式,创建一个函数的生成器.它接受函数的名字和参数,并且返回一个新的局部函数,它只需要剩余的参数.举个例子://科里化函数function curry(fn,scope){ var scope = scope || window; var args = []; for(var i = 2,len = arguments.length;i<len;++i){ args.push(arguments[i]); } return function(){ var args2 = []; for(var i=0;i<arguments.lengt... 阅读全文

posted @ 2013-06-24 21:32 SmileCN 阅读(611) 评论(0) 推荐(0)

摘要:Array.prototype.slice.call(arguments,0);有过不少人问过我这么一个语句是什么意思,乍一看确实不好理解.我们把这样一段代码分开来解释一下.1.Array.prototype.sliceslice的用法想必不用我多说,截取并返回数组的一部分;e.g:"JavaScript".slice(0,4); //Java["a","b","c","d"].slice(2,4) //c,d可以这么说,有length属性的都可以使用slice方法2.call(argument 阅读全文

posted @ 2013-05-18 06:32 SmileCN 阅读(297) 评论(0) 推荐(0)

摘要:JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行setTimeout( function(){ alert(’你好!’); } , 0);setInterval( callBack, 100);认为setTimeout中的问候方法会立即被执行,因为这并不是凭空而说,而是JavaScript API文档明确定义第二个参数意义为隔多少毫秒后,回调方法就会被执行. 这里设成0毫秒,理所当然就立即被执行了.同理对setInterval的callbackFunction方法每间隔100毫秒就立即被执行... 阅读全文

posted @ 2013-05-16 06:10 SmileCN 阅读(247) 评论(0) 推荐(0)

摘要:Javascript不支持真正的多维数组,但是可以用数组的数组来近似.//下面是权威指南给出的例子: 99乘法表//创建一个多维数组var table = new Array(10);for(var i = 0;i<table.length;i++){ table[i] = new Array(10);}//初始化数组for(var row = 0;row<table.length;row++){ for(col = 0;col<table[row].length;col++) { table[row][col] = row*col; } }... 阅读全文

posted @ 2013-05-15 11:32 SmileCN 阅读(208) 评论(0) 推荐(0)

摘要:1.call:应用于:Function对象;调用一个对象的一个方法,以另一个对象替换当前对象;call(thisObj[,arg1[,arg2[,arg3,[argN]]]]);参数:thisObj:将被用作当前对象的对象;arg1...argN:将被传递方法参数序列;说明:call方法可以用来代替另一个对象调用一个方法;call方法可以讲一个函数的对象上下文从初始的上下文改变成thisObj指定的新对象;ex:obj1.method.call(obj2,arg1,arg2);call的作用就是把obj1的方法放到obj2上去使用,而arg1,arg2可以当作参数传入;举一个具体的例子:fun 阅读全文

posted @ 2013-04-09 13:49 SmileCN 阅读(224) 评论(0) 推荐(0)

摘要:json2.js的下载地址:https://github.com/douglascrockford/JSON-jsjson2提供了json的序列化和反序列化方法:序列化方法:var str={"id":"smile","age":"21"};JSON.stringify(str);反序列化方法:var str='{"id":"smile","age":"21"}';JSON.parse(str); 阅读全文

posted @ 2013-04-07 22:58 SmileCN 阅读(266) 评论(0) 推荐(0)

摘要:JSON(JavaScript Object Notation)一种轻量级的数据格式,采取完全独立于语言的文本格局,同时json是JavaScript原生格局,这意味着JavaScript在处理Json时不需要额外的api或者是对象包并且执行效果高;1.Json的解析办法:1.eval() 2.JSON.parse()2.一个标准的Json:var str = {"id":"smile","age":"21"};3.eval():eval()函数可计算某个字符串,并执行其中的JavaScript代码;语法:eval 阅读全文

posted @ 2013-04-07 21:27 SmileCN 阅读(356) 评论(0) 推荐(0)