贪多必失,写了一个用操作url 的js工具类,这个类上面有个属性叫queryString,我原来的做法是让queryString=function(){} , 想法是希望能够queryString[key]或者queryString(key[,value])这样两种写法都支持,通过queryString[key] 方式调用key大小写敏感 通过queryString(key)则可以大小写无关。 今天杯具的发现url中带name参数死活都设置不上去,突然想起来queryString是个匿名函数,name,length等属性是只读的, 还是地乖乖改成...
在迭代中,我们还要注意的是,对象或者数组中的元素可能是一个任意值——除了原始类型值、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 =...
前端开发者应该很清楚 Javscript 脚本的 function 函数对象可以通过 call 或 apply 方法,使其改变内部作用域(this)所指向的对象,实现更多可扩展的功能开发。ie 原生支持 function 对象的 call 和 apply 方法,在 firefox 或其它浏览器下也得到支持,但是 call 和 apply 方法是立即作用并执行,例如: 代码如下: var func = function () { alert(this); }.apply(window); 当脚本解析引擎执行到这段代码时,会立即弹出对话框并显...
1.前言 函数需要先定义,后使用。 这基本上所有编程语言的一条铁的定律。 一般状况下, 我们需要调用一个JavaScript 函数, 基本的状况都是先定义, 然后再调用。 看一个例子 代码如下: Say Hello //define function function sayHello() { alert("hello"); } //call function sayHello(); 但是如果不需要显示调用函数, 让这个函数在定义的时候就执行的话, 该如何写才可以呢? 2.思考的历程 从以上的例子来看,聪明的...
总体来说,顺序是这样的:先计算第一个小括号,发现里面的表达式是一个函数,返会该匿名函数的引用(指针),最后一个括号则是建立匿名函数的实参和并执行。 示例: 计算两个数之和。 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",p...
一般情况下两者的调用结果是一样的,但是还是有区别的。 第一种方式: 代码如下: 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 这里就可以很明显区分两个方式的区别了。定义的顺序不同。 第一种,刚开始其实没有...
函数定义 函数是由这样的方式进行声明的:关键字 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代码...
昨天在网上看到一个很有意思的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])...
代码如下: window.onload=function{} 表示页面加载完了后(包括dom和js),再执行函数里面的内容; 代码如下: $(function(){}) 表示页面(dom)加载完了后,再执行函数里面的内容
代码如下: function jumpPage() { if (event.keyCode==37)//左 fun_a(); if (event.keyCode==38)//上 fun_b(); if (event.keyCode==39)//右 fun_c(); if (event.keyCode==40)//下 fun_d(); } function fun_a(){ window.alert('你按下了左') } function fun_b(){ window.alert('你按下了上')} function fun_c(){ window.alert('你按下了右') } function fun_d(){ window.alert('你按下了下') } document.onkeydown=jumpPage;...
javascript 函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前,先看一下函数的使用语法: 以下是引用片段: function func1(…){…} var func2=function(…){…}; var func3=function func4(…){…}; var func5=new Function(); 代码如下: 输出 [object Window] return self.toString(); // 定义一个变量selft并...
Jquery是优秀的Javascrīpt框架,$是jquery库的申明,它很不稳定(我就常遇上),换一种稳定的写法jQuery.noConflict(); jQuery(document).ready(function(){}); 使用jQuery的好处是它包装了各种浏览器版本对DOM对象(javascript的DOM对象你应该知道吧,就是它了)的操作. 比如jquery写法:$("div p"); // (1)$("div.container"); // (2)$("div #msg"); // (3)$("table a",context); // (4)$("#myId"); //(5) 第一行代码得到所有标签下...
Jquery是优秀的Javascrīpt框架。我们现在来讨论下在 Jquery 中两个页面载入后执行的函数。 $(document).ready(function(){ // 在这里写你的代码...});在DOM加载完成时运行的代码 可以简写成 jQuery(function(){ }); (function($) {})(jQuery)什么意思?(function(){ })(jQuery); 其实际上是执行()(para)匿名方法,只不过是传递了jQuery对象。 相当于 function aa($){} aa(jQuery) 是初始化jquery对象的惯用方法. 通俗点说就是在页...
今天写一个div+css模拟js信息框的类库时遇到一个问题,我希望当我没有传递参数过去时自动使用“提示信息”作为窗口标题。我试着这样写 代码如下: function MessageBox(title=""){ } 毫无疑问我运行失败了(要不然我也不会发这博文了) 最后经过一番百度,发现了这么个好东西 代码如下: function test(a){ var b=arguments[0]?arguments[0]:50; return a+:+b; } 根据我拙计的理解能力,arguments大概就是类似于一个数组的东西,...
[1,2,3].length 可以得到 3, "123".length 也可以得到 3,这个略懂js的都知道。 但是 eval.length,RegExp.length,"".toString.length,1..toString.length 会得到什么呢? 分别得到 1,2,0,1,这些数字代表什么呢? 这个是群里很多新人朋友一直问的一个问题,其实函数的 length 得到的是形参个数。我们来简单看个例子:代码如下:function test(a,b,c) {}test.length // 3 function test(a,b,c,d) {}test.length // 4 是不...