js关键字与保留字的坑。

Posted 上啊比卡丘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js关键字与保留字的坑。相关的知识,希望对你有一定的参考价值。

在写一个算法,迷宫出口的算法,作为一个有追求的前端,首先在解决算法的问题之前要把迷宫的图做的漂漂亮亮的才对得住自己的审美,所以我花了一个钟的时间去写这个地图。

 

不过这次我们说的并不是迷宫的解法,也不是css样式的问题。而是我踩的一个很意想不到的坑。js的关键字跟保留字的问题。

首先看下我们的代码:

我们主要讨论的是这个top变量,在for循环中我们声明了top变量,同时在下面的辅助方法中有些地方也声明了top变量,然后当我们console.log输出的时候就傻眼了,

这尼玛是什么,怎么全是window,然后我改了下代码,直接输出getTop的内容而不是赋给top变量,这时候好像正常了

是不是很奇怪?为什么top变量会出问题而直接输出不会出问题,我们再改一下

这时候我们的输出又是正常的,所以问题的关键在于我们的top这个东西了。最后在祖师爷的指点下才发现,原来是top是js一个window对象,它们是只读的,所以我们不可以给它写入东西,这才导致我们把内容赋给top变量,最后输出的却是window。

所以以后一定要注意下,我们的变量名称不能乱起,特别是不要跟window本身带的对象起冲突,也要注意下不要跟js关键字器冲突,不然的话这种bug真的很难找出来。

以上是关于js关键字与保留字的坑。的主要内容,如果未能解决你的问题,请参考以下文章

Java关键字和Java保留字

sql都有哪些保留字

高分求SQL的全部保留字是哪些?

js_保留关键字

JS中的关键字和保留字

js基础 1.简单js 语法 关键字 保留字 变量