为了账号安全,请及时绑定邮箱和手机立即绑定

本节慕课网的例子和习题中的while语句判断格式不一样?!

http://img1.sycdn.imooc.com//56ee75e70001a47c10240768.jpg

看清楚再解答,不要复制文章了,你能复制的我都能找到,就问一下,为什么例子中的while语句就不需要用一个“&&”语句,难道例子中不使用就不会出现bug了吗?感觉慕课网越来越马虎了,不是我每次提问都想揭其要害,想想前面提问的问题,依然没有人能解答,就心寒,慕课网老师出来一下解释一下行不行?

正在回答

4 回答

也不叫做格式不一样,只能说例子没有习题中的严谨,它少了判断是不是最后一个元素的条件。但是例子上面写着“判断节点nodeType是否为1, 如是为元素节点,跳过。”,它的作用也就是让你知道,可以用nodeType来判断,让跟自己不同元素类型的,可能跳过。所谓例子,就是给你个指引,不可能面面俱到。而且它在习题里也给你加上了(x&&)了。


我觉得学习,要把握重点。具体操作的时候,你要根据自己的需求来进行操作,可以更加严谨,可以更加深入。当你发现两个不一样的时候,你可以思考,可以尝试,可以提出疑问,见解,但是希望可以更温和,毕竟慕课的老师的付出大家都是看得到的,他们本应没有义务这样,却还是努力教授我们知识,我们理应感激。


你看出了例子和习题不一样,说明你细心。有不懂的提出来,说明你好学。这样一个人,我觉得不应该出现上面这样的态度。


我个人的一些看法。希望对你有帮助。

1 回复 有任何疑惑可以回复我~

就你这种提问态度,一言不合就贬低别人不认真学习。谁高兴回答你问题?年轻人能不能谦和点,我欠你钱吗

1 回复 有任何疑惑可以回复我~
#1

IT自学 提问者

你也不欠我钱。
2016-03-21 回复 有任何疑惑可以回复我~

while 循环来判断一下,仅是为了证明x是否存在,而上面已经 var x=n.nextSibling 即x是存在的,所以有没有x都可以,有的话更好,没有也不要紧。

0 回复 有任何疑惑可以回复我~
#1

Kitayama

while (x && x.nodeType!=1)等价于while (x!==null && x.nodeType!=1) 这样好理解吗
2016-03-21 回复 有任何疑惑可以回复我~
#2

IT自学 提问者

不要想当然,看清楚再说OK?你看看例子中的while语句既不是你说的“while (x && x.nodeType!=1)”语句,也不是你说的等价于“while (x!==null && x.nodeType!=1)”,何来好理解吗?看例子了吗?大神?!
2016-03-21 回复 有任何疑惑可以回复我~
#3

Kitayama 回复 IT自学 提问者

抛开问题不谈,你这人也是蛮逗的,言语里透着看不起慕课网的态度,算我手贱回你问题。
2016-03-21 回复 有任何疑惑可以回复我~
#4

IT自学 提问者 回复 Kitayama

无所谓了,我也是一个学生,不过我学习就学的认真,虽说是业余来学,但是也不希望学些错误的东西,对事不对人,我觉得你也挺逗的,明明自相矛盾有错误的地方,不认真研究,还答非所问,没有解决我的疑问,你的上面的答案对我来说毫无意义,谢谢!
2016-03-21 回复 有任何疑惑可以回复我~
#5

Kitayama 回复 IT自学 提问者

你年纪那么轻就开始靠贬低别人抬高自己了吗,送你一句话,想学好的资源,掏钱去
2016-03-21 回复 有任何疑惑可以回复我~
#6

IT自学 提问者 回复 Kitayama

这和年轻没关系吧,我就是指出问题,指出问题就是抬高自己吗?哪有问题还不让人说,还有公理吗?我就提问题,你会愿意回答我很高兴,你会不愿意回答也没什么,这和抬高自己有一毛钱关系吗?业余学着玩,掏不掏钱是我自己的事情,但是做事认真是本性,改不了,抱歉了。
2016-03-21 回复 有任何疑惑可以回复我~
#7

Kitayama 回复 IT自学 提问者

你是指出问题吗? "明明自相矛盾有错误的地方,不认真研究,还答非所问,没有解决我的疑问" 你是圣母吗?
2016-03-21 回复 有任何疑惑可以回复我~
#8

IT自学 提问者 回复 Kitayama

我是男生,所以我不是圣母。
2016-03-21 回复 有任何疑惑可以回复我~
#9

侧耳倾听10 回复 Kitayama

谢谢,理解了!
2016-03-29 回复 有任何疑惑可以回复我~
查看6条回复

我感觉这个while语句就是判断下一个兄弟结点是否和自己是同等类型的。

如果x不为空效果相同,如果x为空,说明在执行while语句之前这个节点前面(或后面)就已经没有兄弟结点了

0 回复 有任何疑惑可以回复我~
#1

IT自学 提问者

不管如何说,按照道理来说,如果把习题中的while语句改成课程例子中的while语句模式,就是错误的,不信可以试试。
2016-03-21 回复 有任何疑惑可以回复我~
#2

greenydo 回复 IT自学 提问者

怎么错?
2016-03-21 回复 有任何疑惑可以回复我~
#3

IT自学 提问者 回复 greenydo

为了方便演示,把答案弄过去顶替原来的函数,然后把while语句中的内容改成和课程例子中一样,去掉前半部分,下标还是“0”的时候,就无法输出“这已经是最后面一个节点”这句话,如果加上前半部分,就可以输出这句话。
2016-03-21 回复 有任何疑惑可以回复我~
#4

IT自学 提问者

如果下标标成1到5都没有影响,但是标成0,前面没有元素的时候,你就会发现教程中缺半部分的这个while语句的漏洞了。
2016-03-21 回复 有任何疑惑可以回复我~
#5

IT自学 提问者

我从来不随意提问的,提问的我在我的手写笔记本上都有详细的原因,不能说下标为1到5时候,前面有元素,去掉不影响就算正常,也要看看前面没有元素的时候正不正常,都正常才叫做前部分要不要都可以,我前面还有好几处提到慕课网的错误,或者自相矛盾的地方,有了充足理论再来和我争辩,我只相信事实,不相信理论,亲自做做看。
2016-03-21 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468306    人
  • 解答问题       21893    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

本节慕课网的例子和习题中的while语句判断格式不一样?!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信