如何把这个JS封装成函数?用时调函数传参就可以!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把这个JS封装成函数?用时调函数传参就可以!相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="keywords" content="" />
<meta name="description" content="" />
<title></title>

<ul class="task-bounty-list" id="task-bounty2">
<li class="clearfix" style="background:#ccc;">
<h6 style="display:inline-block; width:10px; height:10px; background:red;cursor:pointer"></h6>
</li>
<li class="clearfix" style="background:#ccc;">
<h6 style="display:inline-block; width:10px; height:10px; background:red;cursor:pointer"></h6>
</li>
<li class="clearfix" style="background:#ccc;">
<h6 style="display:inline-block; width:10px; height:10px; background:red;cursor:pointer"></h6>
</li>
<li class="clearfix" style="background:#ccc;">
<h6 style="display:inline-block; width:10px; height:10px; background:red;cursor:pointer"></h6>
</li>
</ul>

<script>
var messagedelbtn=document.getElementById("task-bounty2").getElementsByTagName("h6");
for(var i=0;i<messagedelbtn.length;i++)

messagedelbtn[i].index=i;
messagedelbtn[i].onclick=function()
this.parentNode.style.display="none";
//alert(this.index)


</script>

</body>
</html>

JS函数传参方法如下:
  对于基本类型来说,其复制的是被复制变量在栈中的值,即创建了一个副本,对其中任何一个变量的改变都不会影响另外一个变量;对于引用类型来说,其复制的是被复制变量在栈中的值,但是这个值所存储的是变量指向到堆中的对象的指针,即该对象所存储的地址,复制后的变量虽然也是一个副本,但是却指向了与被复制的变量的同一个在堆中的对象。对其中任何一个变量所做的改变都会影响都会影响另外一个变量。函数的传参,js中所有函数的参数都是按值来传递的
  实际上,这种传参实际上做的就是把变量的值复制给函数内部的临时变量(这个临时变量其实也有一个专门指向他们的数组,就是常用于模仿重载的arguments数组),所不同的就是对于基础数据类型来说,复制的就是传人参数在栈中的值,而引用类型复制的是参数在栈中的值,而这个值保存的是一个指向堆中地址的指针。
  创建了另外一个对象,所做的任何的改变都不会影响带另外一个对象,因为它与参数所指向的对象是完成不同的对象。
参考技术A <script>
function fun()

</script>追问

如何调用呢?

追答

fun();

追问

我知道这么封装,但是还请看看我得代码吧,顺便运行看看,这种办法是无法实现页面里多个同样效果同时调用的

参考技术B <script>
function addClick(objid)
var o=document.getElementById(objid).getElementsByTagName("h6");
for(var i=0;i<o.length;i++)

o[i].index=i;
o[i].onclick=function()
this.parentNode.style.display="none";
//alert(this.index)



addClick("task-bounty2");//调用
</script>本回答被提问者采纳

JS_基本语法

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
//1.将js封装成函数,点击某按钮时调用
//2.不把js封装成函数,直接在此处写js,则网页加载时直接调用
//该js的执行时机设置比body还早.
// alert(1);
console.log("控制台打印");
//1.声明变量
var x;
console.log(x);
x=3;
console.log(x);
var y="hello";
console.log(y);
//2.隐式转换
var s="hi";
var n=3.14;
var b=true;
console.log(s+n);
console.log(s+b);
console.log(n+b);
console.log(b+b);
//3.强制转换
console.log(n.toString()+1);
console.log(parseInt(n));
console.log(parseInt("5.6"));
console.log(parseInt("abc"));
console.log(parseInt(5.6));
console.log(parseFloat(5.6));
console.log(typeof(n));//查看变量类型
console.log(isNaN("abc"));//是否判断参数是不是“不是一个数”

</script>
</head>
<body>
<p>js语法和java十分相似</p>
</body>
</html>










































以上是关于如何把这个JS封装成函数?用时调函数传参就可以!的主要内容,如果未能解决你的问题,请参考以下文章

js addEventListener调用传参函数

回调函数如何传参?

每次更新路由时调用一个函数 vue.js

JS_基本语法

js如何把setInterval固定时间改成随机时间,以下是代码?

显示和隐藏 uisearchcontroller 时调用的函数