多语言展示
当前在线:472今日阅读:84今日分享:32

波利亚解题系统在js问题中运用

波利亚解题表是解决问题的一般思维方法,所以我觉得有必要把它运用不止一个领域,下面我将把它运用在编程问题上。
方法/步骤
1

我们看到一道js编程题:html部分 

            
  • HTML
  •         
  • CSS
  •         
  • JavaScript
  •         
  • Jquery
  •         
  • Html5
  •     
 题目要求: 获取LI标签的title值。

2

第一,你必须弄清问题弄清问题未知数是什么?获取LI标签的title值。已知数据(指已知数、已知图形和已知事项等的统称)是什么? 

            
  • HTML
  •         
  • CSS
  •         
  • JavaScript
  •         
  • Jquery
  •         
  • Html5
  •     
 条件是什么?既然是获取li标签的title值,那么关系如下:li title='第1个li'空li title='第3个li'li title='第4个li'空满足条件是否可能?要确定未知数,条件是否充分?或者它是否不充分?或者是多余的?或者是矛盾的?假设要获取li标签的title值,必须满足两个条件,1.获得li标签2.获得li的title值画张图。引入适当的符号。var con代表livar text代表li的title把条件的各个部分分开。你能否把它们写下来?1.获得li标签:var con=document.getElementsByTagName('li');2.获得li的title值:var text=con.getAttribute('title');

3

第二步拟定计划如果你不能解决所提出的问题,可先解决一个与此有关的问题。你能不能想出一个更容易着手的有关问题?js代码部分:var con=document.getElementsByTagName('li');     var text=con.getAttribute('title');    document.write(text+'
');我们先求得第1个li,能不能利用上面的结论,答案是肯定的var con=document.getElementsByTagName('li')[0];     var text=con.getAttribute('title');    document.write(text+'
');求得li title='第1个li'照此推论:第3,4个li都可以解决。你能不能想出一个更普遍的问题?答案是for循环for (var i=0; i< con.length;i++){}写入其中即可:var con=document.getElementsByTagName('li')for (var i=0; i< con.length;i++){  var text=con[i].getAttribute('title'); document.write(text+'
');} 你能否解决这个问题的一部分?仅仅保持条件的一部分而舍去其余部分,这样对于未知能确定到什么程度?它会怎样变化?你能不能从已知数据导出某些有用的东西?你能不能想出适合于确定未知数的其它数据?我们发现输出虽然li的title值,但依然没有输出,现在我们可以观察为什么会这样?原因:li[1] li[5]没有title属性,所以我们还不能确定未知,为此我们必须加入确定title值的其它条件语句,if(text!=null)      {        document.write(text+'
');      }所以最终获得其答案: var con=document.getElementsByTagName('li');    for (var i=0; i< con.length;i++){    var text=con[i].getAttribute('title');      if(text!=null)      {        document.write(text+'
');      }    } 第三步:写入代码,验证输出

注意事项

我这个过程是你在脑子过一遍的思路,并非是你写时的整个过程

推荐信息