根据 Stack Overflow 的 2018 年度调查,JavaScript 连续六年成为最常用的编程语言。所以我们必须面对这样的现实,JavaScript 已经成为全栈开发技能的基石,在全栈开发面试中都会不可避免地涉及到与 JavaScript 有关的问题。FullStack.Cafe 汇编了最常见的 JavaScript 面试问题和答案,希望能够帮助读者找到下一份梦想中的工作。 Q1:JavaScript 中的强制转型(coercion)是指什么? 难度:0 在 JavaScript 中,两种不同的内置类型...
js面试题 1、javascript是什么?JavaScript 的组成 javascript是一种基于对象和事件驱动的客户端脚本语言 ECMAScript (语法) DOM(文档对象模型) BOM(浏览器对象模型) 2、在HTML中使用JavaScript的两种方法 方法一:直接把js代码写在html页面中 方法二:在页面中进行引入js文件 3、四种输出方式 1)打印到页面上 document.write(“输出的内容”); 识别HTML标签 2)在控制台中输出 console.log(“输出的内容”); 3)输出到浏览器的提...
前端JS面试题 POST请求的数据类型基础数据类型(原始值)typeof和instanceof区别数据类型转换成booleanthis指向问题自己经验总结,都是些常见的面试题,也是博主经常问的,收藏不迷路,会持续新增内容。POST请求的数据类型 1、Content-Type: application/x-www-form-urlencoded (默认的数据类型) 2、Content-Type: application/json (发送json数据) 3、Content-Type: multipart/form-data (发送文件或图片) 4、Content-Typ...
解释一下为何[ ] == ![ ] // ---> true 首先看一张图 ![ ] 是 false原式:[ ] == false根据第八条,false通过tonumber()转换为0原式:[ ] == 0根据第十条,[ ]通过ToPrimitive()转换为 原式: == 0根据第六条原式:0 == 0 尝试实现newfunction ObjectClass() {//对象console.log(arguments[0])}ObjectClass.prototype.constructor = ObjectClassfunction create() {// 创建一个空的对象var obj = {}// 获得构造函数var _constr...
1、js数据类型 基本数据类型:undefined、null、number、boolean、string、symbol引用数据类型:object(function、array、date ) 2、js数据类型的转换 转换为布尔值-Boolean()转换为数字-Number() parseInt() parseFloat()转换为字符串-String() toString()null和undefined没有.toString()方法 3、js数据类型的判断 typeof:对于原始数据类型来说,除了null都可以显示正确的类型— type 2instanceof:可以争取的判断对象的类型— i...
究竟是怎么样的一道面试题,能让我拿出来说说呢?下面请看代码:function fun(a,b) { console.log(b) return { fun: function(c) { return fun(c,a); } }; }var d = fun(0); d.fun(1); d.fun(2); d.fun(3);var d1 = fun(0).fun(1).fun(2).fun(3);var d2 = fun(0).fun(1); d2.fun(2); d2.fun(3); 复制代码如何判断两种函数的方法呢?可以用fn.name来判断,如果有name就是具名函数,如果没有na...
例子: 只是说排好序 并没有说两个数组都是升序或者是降序var ar1=[2,3,5,8,9]; var arr2=[10,7,4,2];将arr2 拼接到 arr1 中 按照 升序排列 相同的元素不去重哦 以前把 我们会用es5得方式进行 解决 又是判断两个的长度又是啥的 还是比较麻烦的 这里就不说es5的方式了var arr1=[2,3,5,8,9]; var arr2=[10,7,4,2]; function getConcat(arr1,arr2){return [...arr1,...arr2].sort((a,b)=>{return a-b;}) } var a=getConcat(arr1,arr2)...
JS面试题:实现a1&&a2&&a==3 返回true 思路: 重写valueOf()方法 利用隐式转换时,会调用valueOf()方法,来实现对其值的++操作 valueOf的意思是返回最适合该对象类型的原始值,而toString则是将在该对象类型的原始值以字符串形式返回。 var colors = ["red", "blue", "green"]; // 创建一个包含3 个字符串的数组 alert(colors.toString()); // red,blue,green alert(colors.valueOf()); // red,blue,green alert(colors); // re...
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取。思维导图一、变量提升 面试题 1.问下面输出结果 if( !("a" in window) ){var a = 12 } console.log(a) // undefined无论条件是否成立都会变量提升,全局下的 var 相当于给 window 设一个属性 window.a = undefined。所以!("a" in window) 是 false,输出就是 undefined2.问下面输出结果 console.log(a) var a = '林一一' function fn(){c...
能实现一个new吗要实现new操作符,就要知道new + 构造函数都做了什么? 创建一个空的对象将空对象的__proto__属性指向构造函数的原型将this指向这个对象返回这个对象function newFun(context) {// 创建一个空的对象var obj = {}// 将空对象的__proto__属性指向构造函数的原型obj.__proto__ = context.prototype;// 将this指向这个对象 将传入的实参分割出来指向obj上context.apply(obj, [].slice.call(arguments, 1))return obj; } ...