js内部函数

JavaScript016

js内部函数,第1张

错误原因是因为你settimeout中函数加了引号,加了引号后不再从局部变量中找这个参数,而是到全局环境中找,全局函数当然没有你定义的这个sleep_move_inner了,解决办法是

1 去掉双引号,只写函数名sleep_move_inner

2 在全局作用域中定一个变量,在局部作用于中引用这个变量

全局:var k

局部:k = sleep_move_inner

var obj = function() {

this.a = function(arg){alert(arg)}

this.b = function(arg){alert(arg+1)}

}

var fn = new obj

fn.a('TEST')