前端面试题JS篇(6)

ES6 Module 和 CommonJS 模块的区别:

CommonJS 是对模块的浅拷⻉,ES6 Module 是对模块的引⽤,即 ES6 Module 只存只读,不能改变其值,也就是指针指向不能变,类似 const; import 的接⼝是 read-only(只读状态),不能修改其变量值。 即不能修改其变量的指针指向,但可以改变变量内部指针指向,可以CommonJS 对重新赋值(改变指针指向),但是对 ES6 Module 赋值会编译报错。

ES6 Module 和 CommonJS 模块的共同点: CommonJS 和 ES6 Module 都可以对引⼊的对象进⾏赋值,即对对象内部属性的值进⾏改变

原型链的终点是什么,如何打印出原型链的终点

由于 Object 是构造函数,原型链终点 Object.prototype.__proto__,而Object.prototype.__proto__=== null // true,所以,原型链 的终点是 null。原型链上的所有原型都是对象,所有的对象最终都 是由 Object 构造的,而 Object.prototype 的下一级是 Object.prototype.__proto__

移动端区分是ios还是android

let u = navigator.userAgent;
if (u.indexOf("Android") > -1 || u.indexOf("Linux") > -1) {
  console.log("安卓");
} else if (u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {
  console.log("IOS");
}

前端面试题JS篇(6)_第1张图片

你可能感兴趣的:(前端,javascript,开发语言)