2-8编程练习后续?????

2-8编程练习后续?????

var inputs=document.getElementsByTagName("input");

   var entry=inputs[0];//????这里定义这个的作用是什么????

   entry.onclick=entryFn;//????这里不可以直接写成inputs.onclick=entryFn()吗?????为什么

function entryFn(){

           var arr=[];

           while(str!=-1){

             var str=prompt("请输入员工姓名,勿输入-1");

             arr.push(str);


           }

             arr.length=arr.length-1;

             document.write(arr+"<br />");


             for(var i=0;i<arr.length;i++){


              document.write("录入的第"+(i+1)

              +"名员工是"+arr[i]+"<br />");

             }

    }

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
清丶辞 2017-11-23 18:41:49

var entry=inputs[0];//????这里定义这个的作用是什么????

答:作用是因为input中没有给定id属性,因此为了获取input标签,使用getElementsByTagName,但是此方法返回值是数组,因此下标为0的也就是第一个input。可以获取到。

entry.onclick=entryFn;//????这里不可以直接写成inputs.onclick=entryFn()吗?????为什么

可以写成inputs[0].onclick=entryFn;

答:不可以写成inputs.onclick=entryFn()。在DOM0级事件中调用函数,不可以加括号,原因在视频中老师重点提到了,可以仔细看看。
同样可以写成inputs[0].onclick = entryFn; 因为inputs[0]代表的是当前的input标签,而entry也是代表的input标签,只不过是因为entry是一个变量,用来接收了input[0]

毛狼 2017-11-06 10:34:14

var entry=inputs[0];//????这里定义这个的作用是什么????

这里是给变量entry赋值为inputs的第一个元素,只有指定inputs的第一个元素才能进行


entry.onclick=entryFn;//????这里不可以直接写成inputs.onclick=entryFn()吗?????为什么

可以写成inputs[0].onclick=entryFn;

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
JavaScript基础入门 2018
  • 参与学习       547    人
  • 提交作业       206    份
  • 解答问题       640    个

JavaScript作为前端学习中的一个重要组成部分,本课程将带领你从最基础的语法开始,学习js的流程控制语句、函数、内置对象、DOM基础、DOM事件、BOM基础以及经典的js案例--轮播图。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师