时间:2021-05-26
无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数。如果想要传入参数,自定义参数也好,事件参数event也好,解决办法是在此函数的基础上在做一层封装。其具体原理还不清楚,但是下边的办法确实能解决这个问题。
先看一个简单的代码:
复制代码 代码如下:
function show(){
alert("Hello World");
}
setTimeout(show,1000);
这段代码的效果是在1秒后显示hello world,但是如果改成
setTimeOut(show(),1000);
就会立即显示,达不到延时的效果了。但是如果加上引号就可以了。如:
setTimeOut("show()",1000);
就可以了。但是如果带上参数的话,还是不行比如:
setTimeOut("show(name)",1000)
这时就了一个比较的方法,就是再写个函数,该函数返回一个不带参数的函数,具体如下:
复制代码 代码如下:
script language="javascript">
function show(name)
{alert("Hello World:" + name);}
function _show(name)
{
return function()
{
show(name);
}
}
setTimeout(_show(name),1000);
function
</script>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
今天做项目时踩到了vue-router传参的坑(jquery和params),所以决定总结一下二者的区别。1.jquery方式传参和接收参数传参:this.$r
jQuery的setter/getter共用一个函数,通过是否传参来表明它是何种意义。简单说传参它是setter,不传它是getter。一个函数具有多种意义在编
JQuery绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参。 代码如下:$(document).ready(function(
在用pymysql操作数据库的过程中,给sql语句传参碰到了很多问题,网上传参策略很多,这里推荐两种单个传参用%s,写起来比较简单:field='-'sql_t
React中传参方式有很多,通过路由传参的方式也是必不可少的一种。本文记录项目中会用到的路由传参方式:路由跳转传参API+目标路由获取参数的方式。一、动态路由跳