JavaScript提示函数未定义

JavaScript011

JavaScript提示函数未定义,第1张

你在定义函数的时候,传的形参是num,而在函数内部使用的时候是n,明显不统一嘛,统一一下。就不会报错了

----------------------------------

另外,在函数的末尾没有return值,所有在html文件内嵌入的document.write(...)输出为undefined

方法一:

function go(){ alert('GO!') }//写函数在插入就能读取了

var newsc = "<script id='sc1' type='text/javascript'>"+go+"<\/script>"

var e = document.getElementByIdx_x_x('div1')

e.innerHTML = newsc。

方法二:

var newsc = "<script id='sc1' type='text/javascript'>go.go()<\/script>"//定义为对象可以直接从字符串写入;

var e = document.getElementByIdx_x_x('div1')

e.innerHTML = newsc

go={go:function(){alert('go!')}}

</script>。

函数在数学上的定义:给定一个非空的数即A,对A施加对应法则f,记作f(A),得到另一数即B,也就是B=f(A).那么这个关系式就叫函数关系式,简称函数.

函数定义:

在一个变化过程中,发生变化的量叫变量,有些数值是不随变量而改变的,我们称它们为常量。自变量,函数一个与它量有关联的变量,这一量中的任何一值都能在它量中找到对应的固定值。因变量(函数),随着自变量的变化而变化,且自变量取唯一值时,因变量(函数)有且只有唯一值与其相对应。

函数值,在y是x的函数中,x确定一个值,Y就随之确定一个值,当x取a时,Y就随之确定为b,b就叫做a的函数值。

是作用域的问题。因为你的变量 b 是定义在函数 a 作用域里的。setInterval 第一个参数可以是 function,也可以是 code(字符串)。如果是 code 的话,code 将会使用 eval()() 执行,eval() 执行会带来很多问题,所以这种方法不被推荐使用

你这个例子就是因为 eval 在执行的时候作用域在顶层,也就是会在 window 下找你的 b 函数,所以就是 undefined。

推荐你使用 function 做第一个参数,代码就可以写成:

var x = setInterval( function() {

    console.log( i )

    if( ++i == 5 ) {

        clearInterval( x )

    }

}, 1000 )