Info上周 meeting 上同事说他们现在在用 java 写 function test,产生了很多冗余的代码,整个项目也变得比较臃肿。现在迫切需要个简单的模板项目能快速搭建function test。 后来我回去想了想,为什么我们非得用 java 来做 function test 呢? Node.js 应该是个不错的选择,并且对 json 有着天然的支持,于是回去在 github 上随手一搜,还果真有相关的项目:testosterone,于是便有了这篇blog. Server要做demo,自然要有相应的server来...
代码如下://ECMAScript 5 Function.prototype.bind函数兼容处理 (function(){ if ( !Function.prototype.bind ) { //function(){}.bind Function.prototype.bind = function ( o, /*参数列表*/ ) { var self = this, boundArgs = Array.prototype.slice.call(arguments, 0); return function(){ var args = [], i; for ( i = 1; i < boundArgs.length; i++ ) args.push(boundArgs[i]); for ( i = 0; i < arguments.length; i++ ) a...
jQuery 正确的书写格式: 引入:<script src="/libs/jquery/jquery.js" type="text/javascript"></script> html写法: 代码如下:<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="modules-js/qiyi.js"></script> <script> $(function() { qiyiPlugin.init($("#zong_qiyi")); }); </script> </head> <div id="zong_qiyi"> //XXXXXXXXXXXXXX </div> jQuery写法:...
昨天在网上看到一个很有意思的js面试题,就跟同事讨论了下,发现刚开始很绕最后豁然开朗,明白过来之后发现还是挺简单的,跟大家分享下! 题目如下:var a = Function.prototype.call.apply(function(a){return a;}, [0,4,3]);alert(a); 分析步骤如下: 1、将Function.prototype.call当成整体,call方法是由浏览器实现的本地方法,是函数类型的内部方法 var a = (Function.prototype.call).apply(function(a){return a;}, [0,4,3])...
函数定义 函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。 函数的构造语法有这三种: Js代码 代码如下:1.function functionName(arg0, arg1, ... argN) { statements }//function语句 2.var function_name = new Function(arg1, arg2, ..., argN, function_body);//Function()构造函数 3.var func = function(arg0, arg1, ... argN) { statements };//函数直接量 示例: Js代码...
一般情况下两者的调用结果是一样的,但是还是有区别的。 第一种方式: 代码如下:function a(){ alert(old); } var b=a; function a(){ b(); alert(new); } a();//浏览器就会出现内存溢出的情况 第二种方式: 代码如下:function a(){ alert(old); } var b=a; var a=function(){ b(); alert(new); } a();//浏览器就会按顺序alert出‘old和‘new 这里就可以很明显区分两个方式的区别了。定义的顺序不同。 第一种,刚开始其实没有重...
废话不多说,直接上测试代码 代码如下:var aa = "{name:cola,item:[{age:11},{age:22},{age:23},{age:23}]}"; var now = new Date().getTime(); for (var i = 0; i < 100000; i++) { var a = eval("(" + aa + ")"); } var now1 = new Date().getTime(); document.write("eval 时间为:" + (now1 - now) + "<br/>"); var now2 = new Date().getTime(); for (var i = 0; i < 100000; i++) { ...
总体来说,顺序是这样的:先计算第一个小括号,发现里面的表达式是一个函数,返会该匿名函数的引用(指针),最后一个括号则是建立匿名函数的实参和并执行。 示例: 计算两个数之和。 JavaScript: 代码如下:(function sum(a,b){ //此处也可去掉sum,以匿名函数的形式出现 alert(a+b); })(7,8); C: 代码如下:int sum(int a,int b){return a+b;} void main(){ int (*pt)(int,int); //此处定义函数指针 pt = sum; printf("%d",pt(...
jquery submit()无法提交表单 报错:f[s] is not a function, js submit()无法提交表单 报错:document.getElementByIdx_x(...).submit is not a function 这2个错让人很无奈啊,语法没有任何错误,怎么能报错呢? 因为以前重来没有遇到过,这次是在改别人的代码,回头看了看代码,我靠原来有个按钮的name="submit",把它删掉就能正常提交表单了。 为什么呢?应该是一个type="submit"的Input才会影响表单提交啊!我向可能name="sub...
1.前言 函数需要先定义,后使用。 这基本上所有编程语言的一条铁的定律。 一般状况下, 我们需要调用一个JavaScript 函数, 基本的状况都是先定义, 然后再调用。 看一个例子 代码如下:<!--by oscar999 2013-1-16--> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Say Hel...
前端开发者应该很清楚 Javscript 脚本的 function 函数对象可以通过 call 或 apply 方法,使其改变内部作用域(this)所指向的对象,实现更多可扩展的功能开发。ie 原生支持 function 对象的 call 和 apply 方法,在 firefox 或其它浏览器下也得到支持,但是 call 和 apply 方法是立即作用并执行,例如: 代码如下:var func = function () { alert(this); }.apply(window); 当脚本解析引擎执行到这段代码时,会立即弹出对话框并显示...
在迭代中,我们还要注意的是,对象或者数组中的元素可能是一个任意值——除了原始类型值、object、arrray外,这个值还可能是一个方法、一个DOM对象或者window对象,可能你已经注意到了,有部分引用类型是不能进行迭代的,需要分支判断,代码如下: 代码如下:function compare(a,b){ var pt = /undefined|number|string|boolean/, fn = /^(function\s*)(\w*\b)/, cr = "constructor", cn = "childNodes", pn = "parentNode", ce = ...
贪多必失,写了一个用操作url 的js工具类,这个类上面有个属性叫queryString,我原来的做法是让queryString=function(){} , 想法是希望能够queryString[key]或者queryString(key[,value])这样两种写法都支持,通过queryString[key] 方式调用key大小写敏感 通过queryString(key)则可以大小写无关。 今天杯具的发现url中带name参数死活都设置不上去,突然想起来queryString是个匿名函数,name,length等属性是只读的, 还是地乖乖改成...
Function类 定义 Function类可以表示开发者定义的任何函数,用Function类直接创建函数的语法如下: var function_name=new Function(agrument1,agrument2,...,argumentN,function_body); 每个argument都是一个参数,最后一个参数是函数主体(要执行的代码)。 示例: 代码如下:function sayHi(sName,sMessage){ alert("Hello "+sName+","+sMessage); } 还可以如下定义它: var sayHi=new Function("sName","sMessage",...
1.函数就是对象,而函数名是指向函数对象的指针,不会与某个函数绑定。 2.函数没有重载(函数重载:同一个函数名对应着多个函数的实现.) For Examle: function addnum(num){return num+10 } function addnum(num){return num+20} addnum(10);//30 3.函数表达式与函数声名(解析器会率先读取函数声明,其它情况都是等价的). 4.作为值的函数。 按照某个对象属性给对象数组进行排序? 代码如下:function compareFunction(pr...