注册 登录
编程论坛 JavaScript论坛

函数的引用问题

hugeannex 发布于 2010-12-05 18:13, 1020 次点击
function aa()
{
   alert('aa');
}
function bb()
{
   alert('bb');
}
function cc(fn)
{
   //在这用fn怎么指向aa?
   fn=bb; //这样是不行的。
}

cc(aa);
aa();//我想这结果是 alert('bb');在cc中不能直接写aa函数名,请问哪位有高招?
11 回复
#2
冰镇柠檬汁儿2010-12-05 19:58
没明白是什么意思
#3
冰镇柠檬汁儿2010-12-05 20:07
我写了个代码,不知道能不能达到你的要求

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Untitled Document</title>
        <script>
            function load() {
                var j = [
                    {name: 'gupiao175', age: 24},
                    {name: 'foktime', age: 29},
                    {name: 'qingshuiliu', age: 23},
                    {name: 'gameohyes', age: 22}
                ];
                var html = [];
                for (var i=0; i<j.length; i++) {
                    html.push('name:' + j[i].name + ' | age:' + j[i].age + '<br>');
                };
                return html.join('');
            }
            
            function transfer(fn){
                document.getElementById('div1').innerHTML = fn;
            }
            
            function read(){
                transfer(load());
            }
        </script>
    </head>
    <body onload="read();">
        <div id="div1"></div>
    </body>
</html>
#4
hugeannex2010-12-05 23:32
回复 3楼 冰镇柠檬汁儿
不一样的意思.不是我所要的。
#5
sclorg2010-12-06 13:43
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script>
  function aa()
    {
       alert('aa');
    }
  function bb()
    {
       alert('bb');
    }
  function cc(fn)
    {
       fn;
    }
</script>
 </HEAD>
 <BODY>
  <input type='button' value='test(aa)' onclick='cc(aa())'>
  <input type='button' value='test(bb)' onclick='cc(bb())'>
 </BODY>
</HTML>
#6
冰镇柠檬汁儿2010-12-06 18:19
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Untitled Document</title>
        <script>
            function load() {
                var j = [
                    {name: 'gupiao175', age: 24},
                    {name: 'foktime', age: 29},
                    {name: 'qingshuiliu', age: 23},
                    {name: 'gameohyes', age: 22}
                ];
                var html = [];
                for (var i=0; i<j.length; i++) {
                    html.push('name:' + j[i].name + ' | age:' + j[i].age + '<br>');
                };
                return html.join('');
            }
            
            function transfer(fn){
                alert(fn);
            }
            
            function read(){
                transfer(load);
            }
        </script>
    </head>
    <body onload="read();">
        <div id="div1"></div>
    </body>
</html>

#7
hugeannex2010-12-07 10:26
算了,不问了,继续下去也是没结果的。。。
#8
hugeannex2010-12-07 10:29
回复 6楼 冰镇柠檬汁儿
提醒一下这位同在北京的MM,新版浏览器都对连字符"+"进行优化了,你的array.push()不可取了,那是IE6时代的产物。
#9
gulimeksoft2010-12-07 15:10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="GENERATOR" content="IBM Software Development Platform">
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="theme/Master.css" rel="stylesheet" type="text/css">
<TITLE>teatfaf.html</TITLE>
<script type="text/javascript">
var aa=function(){
alert("aa");
}
var bb=function(){
alert("bb");
}
function show(fn){
return fn();
}
</script>
</HEAD>
<BODY>
<P>Place content here.</P>
<input type="button" value="aa" onclick="show(aa)">
<input type="button" value="bb" onclick="show(bb)">
</BODY>
</HTML>
这不就行了么
#10
hugeannex2010-12-07 16:32
回复 9楼 gulimeksoft
不是,我是要在cc里将aa指向bb
#11
gulimeksoft2010-12-07 17:16
回复 10楼 hugeannex
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="GENERATOR" content="IBM Software Development Platform">
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="theme/Master.css" rel="stylesheet" type="text/css">
<TITLE>teatfaf.html</TITLE>
<script type="text/javascript">
var aa=function(){
alert("aa");
}
var bb=function(){
alert("bb");
}
function show(fn){
fn=bb;
return fn();
}
</script>
</HEAD>
<BODY>
<P>Place content here.</P>
<input type="button" value="aa" onclick="show(aa)">
<input type="button" value="bb" onclick="show(bb)">
</BODY>
</HTML>
这样么
#12
hugeannex2010-12-08 12:40
回复 11楼 gulimeksoft
不是。这题应该是无解的。谢谢啦。
1