1、js引用是放在head里好还是body里面好?
https://blog.csdn.net/qq_29735775/article/details/81258507
2.全屏状态下不能监听到keydown,
因为如果全屏状态下屏蔽了esc和f11按键,页面上又没有提供退出全屏的功能。那么用户岂不是永远退出不了全屏了。为了防止这个问题,浏览器特意将这两个按键的响应权限提升到事件处理系统之上。
3.mouseout和mouseleave的区别
mouseout可以触发冒泡事件,即移出子元素也会触发,而mouseleave只会在移出绑定元素的时候才会触发,当没有子元素的时候两个效果相同
4.立即执行函数(IIFE):
一是函数体后面要有小括号(),二是函数体必须是函数表达式而不能是函数声明
5.js赋值问题
String,Number,undefined,null,boolean存在栈中,其他的类型的值存在堆中,只在栈中保存引用
赋值时从右向左,等于号优先级最低,比如a.x=a={n:2},先会在a中创建x对象,值为undefined,然后执行a.x={n:2},因为赋值的是对象,所以在堆中新创建一个空间,重新给a,所以a.x中的a 与 后面一个a没有指向同一个地址
https://www.cnblogs.com/Gavin257/p/9562214.html
6.运算符优先级:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
7.false:
8.
0.1+0.2 != 0.3
解析:https://www.jianshu.com/p/90ce596f131c
9.魔术字符串:在代码中多次出现的字符串。 由于是强耦合,当字符串需要更改时需要更改许多地方,为了解耦合需要将字符串用一个变量代替,改变也只需要改变变量的值