javascript函数问题

2024-11-23 02:48:19
推荐回答(3个)
回答(1):

e~~看了第一位的回答,貌似不是你所想要的回答。


我来说下我的说法吧,我看了代码,它是这样的(待会我附上我所写的测试代码,看了测试代码,理解很容易):


首先说明这代码的功能是什么,有助于你理解:它是将表格的行,每隔一行就将其中一行的背景色改变,假如你的表格有5行,那么这个函数的功能就是将2、4行的背景色变成#ffc


然后分析函数:(odd变量的作用就是判断要不要加背景色,false就是不加,true就加背景色)


这段代码有是两个循环,第一个循环叫外层循环,相应的,另一个是内层循环,


外层循环(循环页面的所有表格):

    odd在这里被赋值为FALSE(每个表格,odd值初始化为false)


内层循环:

    这里判断odd的布尔值(false或者true),这个循环是逐个判断表格的行,如果odd为true,就将背景色改成#ffc,因为在外层循环odd赋值为false,所以表格第一行背景色是没有改变的,

    判断之后,odd会改成相反的值,(原本的odd=false变成odd=true)

    然后到下一行的判断,因为第一行odd是false,不改变背景色,odd改为true,下一行odd判断为true,那么背景色变成#ffc,这样一直循环表格的行,


    


回答(2):

function strip ()
{
    var table=document.getElementsByTagName("table")
    var odd,rows;
    for (var i=0;i    {
        odd=false;
        rows=table[i].getElementsByTagName("tr");
        for(var a=0;a        {
            if(odd==true) { // -- ①
                rows[a].style.backgroundColor="#ffc";
                odd=false;
            }else{ // -- ②
                odd=true
            }
        }
    }
}

第二个For循环的作用是将一个表的偶数行添加背景颜色,当行数 >= 2 时:

第一次循环,odd 的值是 false,执行②,odd被赋值为true;

第二次循环,odd 的值是 true,执行①,然后被赋值为false;

第三次循环,odd 的值是 false,执行②。。。

回答(3):

var doAdd = new Function("iNum","alert(iNum+10)");
创建了一个函数对象,相当于
var doAdd = function(iNum) {alert(iNum+10);};
function callAnotherFunc( fnFunction, vArgumet)
{ fnFunction(vArgumet) };
调用callAnotherFunc就是执行第一个参数(必须为函数对象),并将第二个参数传给函数对象的第一个参数,
callAnotherFunc(doAdd,10);相当于doAdd(10);
总体来说就是相当于alert(10+10)所以结果是输出20

javascript是一门独立的语言,语法和java或者c有点像,如果想学好需要下一番功夫,因为结构上和css,html完全不同
是否可以解决您的问题?