javascript - 如何使用康威生命游戏中的边缘值解决此问题?

标签 javascript conways-game-of-life

我正在尝试用 JavaScript 构建康威的生命游戏。我遇到的问题是边缘值和 undefined variable 。我将几个变量分配给给定正方形周围的正方形,如果该正方形位于边缘,这不可避免地会导致某些变量未定义。

在 JavaScript 控制台中,第 93 行显示无法读取 null 的属性“style”。我尝试这样解决这个问题:

if (typeof s1n1 === null) { 
count += 0; 
} else if (s1n1.style.backgroundColor === 'rgb(0, 0, 0)') { 
count += 1; 
} 

基本上我想做的是,如果一个变量未定义,它会跳过它并且不向计数变量添加任何内容,然后转到下一个变量。然而,现在的编码方式不起作用。

链接:http://jsfiddle.net/stalin666/mp8kx889/

最佳答案

if block 总是被跳过,因为typeof s1n1 === null总是 false。

所有typeof 操作的计算结果都是字符串,绝不会null。具体来说,表达式 typeof null 的计算结果为字符串 'object'。请参阅MDN article或搜索“javascript typeof”了解更多详细信息。

要检查null,您应该只使用相等性。例如,if (s1n1 === null)

Here您的 fiddle 是否已根据该更改进行了更新?

关于javascript - 如何使用康威生命游戏中的边缘值解决此问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25279625/

相关文章:

javascript - Conways 生命游戏算法无法正常工作

javascript - 将 FormArray 转换为数组 Angular

java - 为什么我返回的计数值错误?

java - 由于环绕,我无法让我的生命游戏程序运行

javascript - 从 git 存储库构建手写笔

Conway 的生命游戏 (C) - 坐标不对应于 2D 数组索引?

c++ - 生命游戏阵列边缘表现怪异

javascript - setTimeout() 只工作 2 次

javascript - pdf生成后如何打开打印对话框?

java - 如何在 javascript 中链接异常(即在 java 中添加原因)