js函数问题,回答精彩加分。

JavaScript010

js函数问题,回答精彩加分。,第1张

这个one是个形参(形式参数),而 abc(this) 的this则是实参(实际参数),两者实际上是相同的,每次调用时abc后面的括号里放什么参数,函数里的one就等于这个参数。而this是每次点击时的a标签,因此one.getAttribute("href")实际上就是获取所点击的a标签的href属性。

参数是可以任意命名的,前提是必须符合js的命名规则(比如不能使用js的保留字)。

下面用个更简单点的例子帮助你理解:

function abc(x){  //这里把参数名设为x了,不是one了

    alert(x)

}

abc(1)  //这里实参是1,那么函数里的形参x就是1

var a = 123

abc(a)  //实参用变量也是一样意思的,这时候x就等于123了

<script>

var span = document.getElementsByTagName("span")

for (var i = 0i <span.lengthi++) {

(function (i) {

span[i].addEventListener('click', function () {

var value = this.innerHTML

var math = document.getElementsByClassName("math")[0]

var mvalue = math.innerHTML

if (value == '+') {

mvalue++

math.innerHTML = mvalue

}

else if (value == '-') {

if (mvalue == '1') {

return

}

mvalue--

math.innerHTML = mvalue

}

})

})(i)

}

</script>

每次加1,给每个span标签添加点击事件,在里面判断点的是+还是-做后在赋值

浏览器之争,楼主试试不用上面的方法判断,你给radio和checkbox赋个id比如id="q01",不用form,因为要实现全浏览器的兼容,用document.getElementById("q01").checked==true来判断并加分,试试吧。

给你一段实验代码。

<html>

<head>

<script language="javascript">

function chk()

{

var point = 0

if (document.getElementById("a1").checked == true)

{

point+=5

}

if (document.getElementById("b1").checked == true &&document.getElementById("b2").checked == true)

{

point+=5

}

alert("你的得分:" + point)}

</script>

</head>

<body>

第一题,选择A为正确答案

A.<input id="a1" type="checkbox" value="checkbox" />

B.<input id="a2" type="checkbox" value="checkbox" />

C.<input id="a3" type="checkbox" value="checkbox" />

D.<input id="a4" type="checkbox" value="checkbox" />

第二题,选择AB为正确答案

A.<input id="b1" type="checkbox" value="checkbox" />

B.<input id="b2" type="checkbox" value="checkbox" />

C.<input id="b3" type="checkbox" value="checkbox" />

D.<input id="b4" type="checkbox" value="checkbox" />

<input type="button" name="Submit" value="提交" onclick="chk()" />

</body>

</html>