几张图片带你了解JavaScript

嘿,兄弟,我给你讲讲我这些年搞JavaScript的时候遇到的那些坑吧,就像咱们喝茶聊天一样。

记得有一年,我写了个小项目,用var声明了个变量,结果后来发现那个变量在全局作用域里也被影响了,坑死我了。
后来才知道var有变量提升的问题,所以现在我用let和const得多,前者可以重新赋值,后者不能,这样代码才不会出问题。

再说说运算符,我一开始用==和===傻傻分不清,结果代码里一堆bug。
前者是相等,后者是严格相等,意思就是类型也要一样。
有一次,一个字符串和一个数字用==比,结果就相等了,把逻辑搞错了。

说到数组,我那时候创建数组就是用new Array(),结果发现写法不对,现在都是直接写[1 , 2 , 3 ],简洁多了。
操作数组的时候,记得push和pop是末尾操作,如果想从前面加或者删,就用unshift和shift。

然后是循环,我最早是用for循环,后来发现while和do...while在某些情况下更方便。
比如,我需要先执行一次循环体再判断条件,那do...while就派上用场了。

字符串函数嘛,我最开始不知道toUpperCase和toLowerCase,结果总是把字符串转换成全小写,后来查资料才知道还有大写的。
还有个indexOf,我之前用它找字符串位置,结果总是多一个字符,原来是忘了加-1
DOM操作,那可是个大坑。
记得有一次我写了个网站,想通过getElementById改个元素的文本,结果发现不管怎么写都不对,最后才发现是因为元素没有加载完成。
现在都是用DOMContentLoaded事件来确保元素加载好了。

至于函数,我早期写函数喜欢用function关键字,现在更喜欢箭头函数,简洁多了。
而且,写函数的时候,记得要写注释,这样别人看或者自己回头看的时候才不会一头雾水。

正则表达式,这东西一开始看就头疼,但学会了之后,查找和替换文本就方便多了。
记得我用test方法检查字符串是否符合正则表达式,然后就是match来找出所有匹配的项。

总之,搞JavaScript,就是要多实践,多查资料,慢慢积累经验。
我现在写代码的时候,都会想想当初自己是怎么踩坑的,这样就能少走很多弯路了。
嘿嘿,咱们下次再聊。

js中不等于符号怎么输入

不等于运算符用 != 表示。
直接按键盘输入 ! 和 = 组合。
比较两个值是否不一样。
比如 1 != 2 返回 true。
字符串 "foo" != "bar" 返回 true。
布尔值 true != false 返回 true。

非严格不等于 != 不看类型。
"1 " != 1 返回 true。
因为一个是字符串,一个是数字。

严格不等于 !== 看类型和值。
"1 " !== 1 返回 true。
因为类型不同。

!= 会自动转类型。
"1 " != 1 是字符串转数字比较。
可能出意外结果。

建议用 !== 避免歧义。
除非明确要宽松比较。

自己掂量。

javascript void 0 怎么解决

哎哟,说到这个void操作符,我当年刚入行那会儿,还真有点摸不着头脑。
这玩意儿啊,其实就是告诉浏览器,你尽管计算这个表达式,但别给我返回什么结果。

你看,这个void操作符的用法,我给你举个例子,就是_javascript:void(expression)。
这里的expression,就是你要计算的表达式。
括号嘛,虽然不是必须的,但写上是个好习惯,就像咱们说话得有个标点一样。

比如,你想创建一个超级链接,但是用户点击了之后,页面什么反应都没有,这时候你就用void操作符。
我以前写过这样的代码,像这样:
单此处提交表单
这个链接,用户点击之后,表单就提交了,但页面不会跳转到其他地方。

再来说说ahref=和ahref=_javascript:void(0)的区别。
ahref=这个链接,默认会跳转到页面的顶部,就像你按了浏览器的“返回顶部”按钮一样。
而_javascript:void(0)呢,它就是一个死链接,页面不会发生任何变化。

所以啊,调用脚本的时候,我们一般用void(0)或者写个标签的onclick事件,比如:
这是无用的链接 <input type="button" value="点击我" onclick=void(0)">
这是无用的div

至于链接的几种办法,我以前也写过一些,比如用window.open来打开新窗口,或者写个自定义函数来处理链接:
javascript function openWin(tag) { var obj = document.createElement('a'); obj.target = '_blank'; obj.href = 'Web/Substation/Substation.aspx?stationno=' + tag; obj.click(); }
然后,在HTML里调用这个函数:
打开新窗口
这样,用户点击链接,就会打开一个新窗口,跳转到指定的URL。