十七.把 <script> 放在 </body> 之前和之后有什么区别?浏览器会如何解析它们?
按照 HTML 标准,在结束后出现<script>或任何元素的开始标签,都是解析错误
虽然不符合 HTML 标准,但浏览器会自动容错,使实际效果与写在</body>之前没有区别
浏览器的容错机制会忽略<script>之前的,视作<script>仍在 body 体内。省略</body>和</html>闭合标签符合 HTML 标准,服务器可以利用这一标准
十八.异步加载 JS 的方式有哪些?
设置<script>属性 async=“async” (一旦脚本可用,则会异步执行)
动态创建 script DOM:document.createElement(‘script’);
XmlHttpRequest 脚本注入
异步加载库 LABjs
模块加载器 Sea.js
十九.列举一下 JavaScript 数组有哪些原生方法?
1.arr.concat(arr1, arr2, arrn);
2.arr.join(",");
3.arr.sort(func);
4.arr.pop();
5.arr.push(e1, e2, en);
6.arr.shift();
7.unshift(e1, e2, en);
8.arr.reverse();
9.arr.slice(start, end);
10.arr.splice(index, count, e1, e2, en);
11.arr.indexOf(el);
12.arr.includes(el); // ES6
二十.js 获取原型的方法?
假设a为新建对象
1.a.__proto__
2.a.constructor.prototype
3.Object.getPrototypeOf(a)