请选择 进入手机版 | 继续访问电脑版

苹果发烧友论坛

 找回密码
 注册
查看: 1867|回复: 5

[讨论] 人不能被惯得太懒了

[复制链接]
发表于 2010-5-25 17:20:27 | 显示全部楼层 |阅读模式
刚才写个这么小的程序,算几个三角数居然死了。
我承认, 自己被javascript惯懒了。 不过这次也太过分了。
看谁能第一个发现bug在哪里? 甲酚
  1. <html>
  2. <head>
  3.         <title>Pascal</title>
  4.         <script language="javascript">
  5.         function triangle() {
  6.                 row = 7;
  7.                 for(i=1; i<=row; i++) {
  8.                         for (j=1; j<i; j++) {
  9.                                 document.write(triNum(j) + " - ");
  10.                         }
  11.                         document.write("<br>");
  12.                 }
  13.         }
  14.         function triNum(n) {
  15.                 a = 1;
  16.                 for (i=1; i<=n; i++) {
  17.                         a = a + i;
  18.                 }
  19.                 return n;
  20.         }
  21.         </script>
  22. </head>
  23. <body onload="triangle()">
  24. </body>
  25. </html>
复制代码
Screen shot 2010-05-25 at 5.09.43 PM.png
发表于 2010-5-25 18:27:54 | 显示全部楼层
你每次都把i重新赋值为1能不爆么~~~哈哈

评分

参与人数 1威望 +20 收起 理由
pointer + 20 甲酚

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-5-25 20:33:50 | 显示全部楼层
一直打印1
回复 支持 反对

使用道具 举报

发表于 2010-5-26 10:01:05 | 显示全部楼层
1. 赋值未定义变量即为隐式声明.
2. 隐式声明变量总是全局变量(不太严谨,但是也类似)。

所以看来要么就把两个函数里面的i的其中一个换成不同变量名,要么就直接在第一个i用var声明。

javascript果然不容易检查错误啊。

评分

参与人数 1威望 +40 收起 理由
pointer + 40 嘿嘿, 不错

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-5-26 10:12:04 | 显示全部楼层
习惯是可怕的呀,还是老老实实的显式申明变量吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-26 22:42:49 | 显示全部楼层
1. 赋值未定义变量即为隐式声明.
2. 隐式声明变量总是全局变量(不太严谨,但是也类似)。

所以看来要么 ...
ardkat 发表于 2010-5-26 10:01


嘿嘿, 差不多是这么当子事。甲酚了。
回复 支持 反对

使用道具 举报

QQ|小黑屋|手机版|Archiver|苹果发烧友论坛 ( 京ICP备16012027号-3 )

GMT+8, 2017-10-19 13:07 , Processed in 0.014817 second(s), 15 queries , Xcache On.

Powered by Discuz! X3.3 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表