易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript 中call与apply区别

1.call方法
官方(JavaScript手册):
调用一个对象的一个方法,以另一个对象替换当前对象。
call([thisObj[,arg1[,
arg2[,   [,.argN]]]]])
参数
thisObj  可选项。将被用作当前对象的对象。
arg1, arg2,  , argN
可选项。将被传递方法参数序列。
  
说明
call 方法可以用来代替另一个对象调用一个方法。call
方法可将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
2.apply方法
官方(JavaScript手册):
应用某一对象的一个方法,用另一个对象替换当前对象。
apply([thisObj[,argArray]])
参数
thisObj  可选项。将被用作当前对象的对象。
argArray 可选项。将被传递给该函数的参数数组。
说明
如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。
如果
没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
  
两者的区别:

者实现的功能是完全一样的,只是参数传递方式不一样,call是将各个参数以逗号(,)隔开,而apply是将所有参数组成一个数组进行传递。
参考代码:
function fun_one() {
    
this.a = "I'm string a";
     this.b = "I'm string b";
  
    
//未定义this.c,但调用的是fun_two里面的,所以定不定义都无所谓;
     this.fun =
function(p1,p2) {
        var s = "this.a: " + this.a + "\nthis.b: " +
this.b + "\nthis.c: " + this.c + "\n\n其它参数:\np1="+p1+"\np2="+p2;
       
alert(s);
     }
}
 
 function fun_two() {
     
this.b = "I'm other string b";
    
//未定义this.a,所以返回undefined
     this.c = "I'm string c";
 }
 var obj1 = new fun_one(); 
 var
obj2 = new fun_two();
 /*
 &n


相关文档:

JavaScript就这么回事

JavaScript就这么回事1:基础知识
1 创建脚本块
1: <script language=”JavaScript”>
2: JavaScript code goes here
3: </script>
2 隐藏脚本代码
1: <script language=”JavaScript”>
2: <!--
3: document.write(“Hello”);
4: // -->
5: </scri ......

JavaScript脚本语言描述:document 文挡对象详解

注:页面上元素name属性和JavaScript引用的名称必须一致包括大小写
   否则会提示你一个错误信息 "引用的元素为空或者不是对象"
---------------------------------------------------------------------
对象属性
document.title             ......

Javascript 模态窗口

<html>
<head>
    <script language="javascript">
        function overlay() {
            xyz = document.getElementById("overlay");
   &n ......

用Javascript以类的方式进行冒泡排序

基本上全部加了注释,一行一注....呵呵
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>数组排序</title>
<mce:style type="text/css"&g ......

javascript技巧

1、字符串转换为数值
常规方法:
JScript code
var a = parseFloat("12");
var b = parseInt("34");
可以用
JScript code
var a = +("12");
var b = +("34");
2、多维数组
常规方法:
JScript code
var A = new Array(2);
A[0] = new Array(2);
A[1] = new Array(2);
A[0][0] = 1;
A[0][1] = 2;
A[1][0] = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号