- 浏览: 250331 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
moxia:
softor 写道这是我格式化的代码:
<div id= ...
addEventListener 和attachEvent用法 -
softor:
这是我格式化的代码:
<div id="div ...
addEventListener 和attachEvent用法 -
softor:
你第一段实例里有连个事件监听,你说的“如果userCaptur ...
addEventListener 和attachEvent用法 -
tvmovie:
([\s\S]*) 非常需要,谢谢博主。
关于正则表达式匹配任意字符(包括换行符)的写法 -
zhongxinhu:
昨晚搞了一晚上,很郁闷,也是这个问题
关于正则表达式匹配任意字符(包括换行符)的写法
1.演示arguments的用法
Js代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <html>
- <head>
- <script language= "JavaScript" >
- <!--
- /**
- * 演示arguments的用法,如何获取实参数和形数数
- */
- function argTest(a,b,c,d){
- var numargs = arguments.length;
- // 获取被传递参数的数值。
- var expargs = argTest.length;
- // 获取期望参数的数值。
- alert( "实参数目为:" +numargs);
- alert( "形数数目为:" +expargs);
- alert(arguments[0]);
- alert(argTest[0]); //undefined 没有这种用法
- }
- /**
- * 下面调用分别打印:
- * "实参数目为:2"
- * "形数数目为:4"
- * "1"
- * "undefined"
- */
- argTest(1,2);
- /**
- * 下面调用分别打印:
- * "实参数目为:5"
- * "形数数目为:4"
- * "1"
- * "undefined"
- */
- argTest(1,2,3,4,5)
- //-->
- </script>
- </head>
- <body></body>
- </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script language="JavaScript"> <!-- /** * 演示arguments的用法,如何获取实参数和形数数 */ function argTest(a,b,c,d){ var numargs = arguments.length; // 获取被传递参数的数值。 var expargs = argTest.length; // 获取期望参数的数值。 alert("实参数目为:"+numargs); alert("形数数目为:"+expargs); alert(arguments[0]); alert(argTest[0]); //undefined 没有这种用法 } /** * 下面调用分别打印: * "实参数目为:2" * "形数数目为:4" * "1" * "undefined" */ argTest(1,2); /** * 下面调用分别打印: * "实参数目为:5" * "形数数目为:4" * "1" * "undefined" */ argTest(1,2,3,4,5) //--> </script> </head> <body></body> </html>
2.arguments不是数组(Array类)
Js代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <html>
- <head>
- <script language= "JavaScript" >
- <!--
- /**
- * arguments不是数组(Array类)
- */
- Array.prototype.selfvalue = 1;
- function testAguments(){
- alert( "arguments.selfvalue=" + arguments.selfvalue);
- }
- alert( "Array.sefvalue=" + new Array().selfvalue); //打印 "Array.sefvalue=1"
- testAguments(); //打印 "arguments.selfvalue=undefined"
- //-->
- </script>
- </head>
- <body>
- </body>
- </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script language="JavaScript"> <!-- /** * arguments不是数组(Array类) */ Array.prototype.selfvalue = 1; function testAguments(){ alert("arguments.selfvalue=" + arguments.selfvalue); } alert("Array.sefvalue=" + new Array().selfvalue);//打印 "Array.sefvalue=1" testAguments();//打印 "arguments.selfvalue=undefined" //--> </script> </head> <body> </body> </html>
3.演示函数的caller属性
Js代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <html>
- <head>
- <script language= "JavaScript" >
- <!--
- /**
- * 演示函数的caller属性.
- * 说明:(当前函数).caller:返回一个对函数的引用,该函数调用了当前函数
- */
- function callerDemo() {
- if (callerDemo.caller) {
- var a= callerDemo.caller.arguments[0];
- alert(a);
- } else {
- alert( "this is a top function" );
- }
- }
- function handleCaller() {
- callerDemo();
- }
- callerDemo(); //打印 "this is a top function"
- handleCaller( "参数1" , "参数2" ); //打印 "参数1"
- //-->
- </script>
- </head>
- <body>
- </body>
- </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script language="JavaScript"> <!-- /** * 演示函数的caller属性. * 说明:(当前函数).caller:返回一个对函数的引用,该函数调用了当前函数 */ function callerDemo() { if (callerDemo.caller) { var a= callerDemo.caller.arguments[0]; alert(a); } else { alert("this is a top function"); } } function handleCaller() { callerDemo(); } callerDemo(); //打印 "this is a top function" handleCaller("参数1","参数2"); //打印 "参数1" //--> </script> </head> <body> </body> </html>
4.演示函数的callee属性
Js代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <html>
- <head>
- <script language= "JavaScript" >
- <!--
- /**
- * 演示函数的callee属性.
- * 说明:arguments.callee:初始值就是正被执行的 Function 对象,用于匿名函数
- */
- function calleeDemo() {
- alert(arguments.callee);
- }
- calleeDemo(); // 打印 calleeDemo 整个函数体
- ( function (arg0,arg1){alert( "形数数目为:" +arguments.callee.length)})(); //打印 "形数数目为:2"
- //-->
- </script>
- </head>
- <body>
- </body>
- </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script language="JavaScript"> <!-- /** * 演示函数的callee属性. * 说明:arguments.callee:初始值就是正被执行的 Function 对象,用于匿名函数 */ function calleeDemo() { alert(arguments.callee); } calleeDemo(); // 打印 calleeDemo 整个函数体 (function(arg0,arg1){alert("形数数目为:"+arguments.callee.length)})();//打印 "形数数目为:2" //--> </script> </head> <body> </body> </html>
5.演示apply,call函数的用法
Js代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <html>
- <head>
- <script language= "JavaScript" >
- <!--
- /**
- * 演示apply,call函数的用法
- * 说明:作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别:
- * apply(thisArg,argArray);
- * call(thisArg[,arg1,arg2…] ]);
- * 即所有函数内部的this指针都会被赋值为thisArg
- */
- function ObjectA(){
- alert( "执行ObjectA()" );
- alert(arguments[0]);
- this .hit= function (msg){alert(msg)}
- this .info= "我来自ObjectA"
- }
- function ObjectB(){
- alert( "执行ObjectB()" );
- //调用ObjectA()方法,同时ObjectA构造函数中的所有this就会被ObjectB中的this替代
- ObjectA.apply( this ,arguments); //ObjectA.call(this);
- alert( this .info);
- this .hit( "来自A的hit函数" );
- }
- /**
- *当ObjectB()函数中第三行为这样时:
- *ObjectA.apply(this,arguments);
- *下面的调用,依次打印:
- * "执行ObjectB()"
- * "执行ObjectA()"
- * "参数0"
- * "我来自ObjectA"
- * "来自A的hit函数"
- *-----------------------------------
- *当ObjectB()函数中第三行为这样时:
- *ObjectA.call(this);
- *下面的调用,依次打印:
- * "执行ObjectB()"
- * "执行ObjectA()"
- * "undefined"
- * "我来自ObjectA"
- * "来自A的hit函数"
- */
- ObjectB( '参数0' );
- //-->
- </script>
- </head>
- <body>
- </body>
- </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script language="JavaScript"> <!-- /** * 演示apply,call函数的用法 * 说明:作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别: * apply(thisArg,argArray); * call(thisArg[,arg1,arg2…] ]); * 即所有函数内部的this指针都会被赋值为thisArg */ function ObjectA(){ alert("执行ObjectA()"); alert(arguments[0]); this.hit=function(msg){alert(msg)} this.info="我来自ObjectA" } function ObjectB(){ alert("执行ObjectB()"); //调用ObjectA()方法,同时ObjectA构造函数中的所有this就会被ObjectB中的this替代 ObjectA.apply(this,arguments);//ObjectA.call(this); alert(this.info); this.hit("来自A的hit函数"); } /** *当ObjectB()函数中第三行为这样时: *ObjectA.apply(this,arguments); *下面的调用,依次打印: * "执行ObjectB()" * "执行ObjectA()" * "参数0" * "我来自ObjectA" * "来自A的hit函数" *----------------------------------- *当ObjectB()函数中第三行为这样时: *ObjectA.call(this); *下面的调用,依次打印: * "执行ObjectB()" * "执行ObjectA()" * "undefined" * "我来自ObjectA" * "来自A的hit函数" */ ObjectB('参数0'); //--> </script> </head> <body> </body> </html>
6.另外的对apply函数的演示
Js代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <html>
- <head>
- <script language= "JavaScript" >
- <!--
- var value= "global 变量" ;
- function Obj(){
- this .value= "对象!" ;
- }
- function Fun1(){
- alert( this .value);
- }
- Fun1(); //打印 "global 变量"
- Fun1.apply(window); //打印 "global 变量"
- alert(window.value); //打印 "global 变量"
- alert(document.value); //打印 "undifined"
- Fun1.apply( new Obj()); //打印 "对象!"
- //-->
- </script>
- </head>
- <body>
- </body>
-
</html>
发表评论
-
div+css布局
2010-08-31 15:12 1846今天发现了一个不错的css+div布局网站。学习css+div ... -
JS的IE和FF兼容_div+css教程
2009-08-13 07:57 1499以下以 IE 代替 Internet Explorer,以 M ... -
DIV+CSS与TABLE布局的区别_div+css教程
2009-08-13 07:55 1790站布局从以前的TABLE方 ... -
img标签下多余空白的解决方法
2009-08-13 07:53 1038在进行页面的css.shtml' ta ... -
【转】JavaScript中的作用域)(call和apply的应用)
2009-07-24 11:30 1106作用域(scope )是Java ... -
HTML&&JS小常识
2009-07-24 10:47 938别人的笔记,转载下 1.几个document属性 docu ... -
javascript在IE和Firefox中的兼容考虑
2009-07-23 11:14 7461.document.formName.item(" ... -
几种刷新的区别
2009-07-23 10:53 1281window.location.reload():重新从服 ... -
addEventListener 和attachEvent用法
2009-07-23 10:29 20110对于IE的attachEvent方法 ... -
typeof和constructor总结
2009-07-23 10:14 1121下面都对变量test的值进行说明。有一点可以先说明的是,t ... -
从零开始学习jQuery框架 收藏
2009-07-21 17:20 1246从零开始学习jQuery框架 收藏 摘要: 本文由简到繁地 ...
相关推荐
### 理解JavaScript中的`caller`, `callee`, `call`, `apply` #### Arguments对象:JavaScript函数调用的参数管理器 在JavaScript中,每个函数都有一个隐含参数`arguments`,它允许开发者访问传递给函数的所有参数...
接下来,我们讨论`call`和`apply`,它们是JavaScript中函数调用的两种特殊方式。`call`和`apply`的主要区别在于传递参数的方式:`call`接受一个参数列表,而`apply`接受一个包含参数的数组。 `call`方法允许我们...
JavaScript中的arguments、caller和callee是与函数调用相关的几个重要概念,它们分别代表函数调用时传递的参数对象、调用当前函数的函数以及当前正在执行的函数。 首先,我们来了解arguments。在JavaScript中,当...
JavaScript中arguments、caller、callee、call和apply是与函数相关的几个重要概念和对象。它们为JavaScript的函数提供了非常灵活的功能,特别是在处理函数参数和调用上下文方面。接下来,将对这些概念逐一进行详细...
在JavaScript的世界里,caller、callee、call和apply是四个非常重要的概念,它们涉及到函数的调用方式和执行上下文。这些知识点对于深入理解和优化代码至关重要,尤其在处理高阶函数和面向对象编程时。 首先,让...
在JavaScript中,arguments、caller、callee和apply是四个与函数调用相关的特性,它们在编写高级和复杂的函数逻辑时非常有用。下面将详细介绍这些概念及其用法。 1. **arguments对象** arguments对象是一个特殊...
本文实例讲述了JavaScript中callee和caller的区别与用法。分享给大家供大家参考,具体如下: 1.callee 在函数的内部,有两个特殊的对象:arguments和this。其中arguments是一个类似数组的对象,包含着传入函数的所有...
在JavaScript中,`caller` 和 `callee` 是与函数相关联的两个属性,它们提供了函数调用和被调用的上下文信息。了解这两个属性的用法,对于深入理解JavaScript中的函数执行机制非常有帮助。 首先来看`caller`属性。`...
JavaScript中的隐含参数`arguments`, `callee`, 和 `caller`是函数内部的特殊变量,它们提供了关于函数调用的重要信息。下面将详细解释这三个参数的使用方法。 **arguments对象** `arguments`对象是一个非常有用的...
JavaScript中的`arguments.callee`是一个在函数内部引用当前正在执行的函数对象的属性。这个属性在函数递归、保持函数封装性以及匿名函数自我引用等场景中尤其有用。然而,由于`arguments`对象是一个相对昂贵的操作...
### 理解JavaScript中的`caller`, `callee`, `call`, `apply` #### Arguments对象 在深入了解`caller`, `callee`, `call`, 和 `apply` 之前,我们先来看看`arguments`对象。`arguments`对象是在JavaScript函数内部...
在JavaScript中,`arguments` 和 `arguments.callee` 都是与函数参数相关的特殊对象,但它们的作用和用途略有不同。下面将详细解释这两个概念及其区别。 `arguments` 对象是一个类数组对象,它包含了函数调用时传入...
综合以上知识点,arguments、caller和calle在JavaScript中的应用可以极大地增强函数的灵活性和功能。例如,可以利用arguments处理可变参数的情况,通过caller追溯调用链进行错误追踪,以及在需要自引用的递归函数中...
### 理解JavaScript中的`caller`, `callee`, `call`, `apply`的区别 #### 一、`arguments`对象 在深入探讨`caller`, `callee`, `call`, 和`apply`之前,我们先来了解一个重要的概念——`arguments`对象。 **`...
JavaScript中的`callee`、`call`和`apply`都是与函数有关的重要概念,它们提供了不同的方式来处理函数调用和上下文。以下是这三个特性的详细解释: **arguments.callee** `arguments.callee`是一个在函数内部可以...
JavaScript中的`arguments`对象是一个非常重要的特性,尤其在处理不确定数量的函数参数时。它不是一个真正的数组,但具有数组类似的行为,允许我们访问函数调用时传入的所有参数。在这个文档中,我们将深入探讨`...