!DOCTYPE html><html><head><mate charset="UTF-8"><title>Insert title here</title><script>//网页加载时直接生成随机数,//该数在body加载钱就有了,所以//用户点击猜时在对应函数内可以用。//0<=x<1var ran = parseInt(Math.random()*100);//无论此函数写在前面还是这里,它都是在用户点击按//钮时调用的,它都比生成的随机数执行的晚。function guess(){//获取文本框里的值var n = document.getElemenById("num").value;var span = document.getElemenById("result");//判断该值是否为数字if(isNaN(n)){//不是数字,给予提示span.innerHTML = "请输入数字";}else{//是数字,和随机数比较if(n<ran){span.innerHTML = "太小了";}else if(n>ran){span.innerHTML = "太大了";}else{span.innerHTML = "对了";}}}</script></head><body><input type="text" id="num"/><input type="button" value="猜" onclik="guess();"/><span id="result"></span></body></html>为什么我的函数不执行,请高手指点一下,谢谢
1 回答
![?](http://img1.sycdn.imooc.com/5458471300017f3702200220-100-100.jpg)
慕田峪9158850
TA贡献1794条经验 获得超7个赞
这个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了 |
添加回答
举报
0/150
提交
取消