JS如何给定时器调用传递参数

2022-04-07 12:57:00

在代码的运转过程中,过错是不行避免的,总的来说,过错发作于两种状况,一是程序内部的逻辑或许语法过错,二是运转环境或许用户输入中不行预知的数据形成的过错,关于前者,就称之为过错(error),能够经过高度程序来处置,然后一种则更多的称之为反常(exception),望文生义,即是超出惯例,没有按程序设计的志愿来输入数据,当然,反常还会有许多种类型.

所以说,反常并不等价于过错,相反,有时还会运用反常来处置一些疑问,javascript能够捕获一个反常并进行相应的处置,然后避免了浏览器向用户报错.

用户能够运用这种布局来处置可能发作反常的代码,假如发作反常,则由catch捕获并进行处置,其语法如下:

try{

//要履行的代码

}catch(e){

//处置反常的代码

}

finally{

//不管反常发作与否,都会履行的代码

}

在JavaScript诞生之前,一切的验证作业都在服务器端完结,这需求将数据发回到服务器增加了用户等待时间,用户体会较差,运用javascript在浏览器端进行验证则能够较好的处置这些疑问.这也是在实践的网站建设中最常用到的.

表单验证通常发作于用户单击提交按钮,数据被提交到服务器之前,这时假如用户输入的数据不全或无效,则撤销提交,一起提示用户从头输入,例如,函数validate()是用于查验表单的有效性的,回来值为true或许false,在程序中有两种办法来调用validate();

方法一:

方法二:

?

榜首种办法中,将validate()绑定到提交按钮的单击事情,假如回来false,则按钮会停止单击的作用,即表单不会提交;

第二种办法中,将validate()绑定到赞誉的提交事情,它发作在提交之前,假如回来false,则表单不会提交.

不管是window.setTimeout仍是window.setInterval.在运用函数名作为调用句柄时不能带参数,而在许多场合有必要要带参数,而在许多场合有必要要带参数,这就需求想办法处置,例如关于函数hello(_name),它用于对于用户名显现期待信息:

var username="jack";

//依据用户名显现期待信息

function hello(_name)

{

alert("hello,"+_name);

}

这时,假如妄图运用以下句子来使hello函数推迟3秒履行是不行行的.

window.setTimeout(hello(userName),3000);

这将使hello函数当即履行,并将回来值作为调用句柄传递给setTimeout函数,其完毕并不是程序需求的,而运用字符串方式能够到达想要的成果.

window.setTimeout("hello(username)",3000)

这儿的字符串是一段javascript代码,其间userName表明的是变量,但这种写法不行直观,并且有些场合有必要运用函数名.

推荐文章

微信咨询

咨询热线

0377-6698 8886

收起
顶部

回到顶部