JS面试题

以下是为您整理出来关于【JS面试题】合集内容,如果觉得还不错,请帮忙转发推荐。

【JS面试题】技术教程文章

js面试题【代码】

1、怎么判断是数组、对象、函数判断是数组还是对象var arr=[]; Object.prototype.toString.call(arr) ===‘[object Array]‘; console.log(Object.prototype.toString.call(arr) ===‘[object Array]‘; ) //falseObject.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象同理判断一个对象是否是...

js面试题知识点全解(一作用域和闭包)【代码】

问题:1.说一下对变量提升的理解2.说明this几种不同的使用场景3.如何理解作用域4.实际开发中闭包的应用知识点:js没有块级作用域只有函数和全局作用域,如下代码:if(true){var name=‘killua‘ //把name定义在块里和放在外面是一样的,等同于在外面声明一个变量name,在块内给name赋值}//同等于下面的代码//建议用下面方式写var nameif(true){name=‘killua‘}console.log(name) //打印出来killua//函数和全局作用域var a=100 //定...

一个有趣的js面试题目【代码】

<html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script type="text/javascript">function a() {b = function() {alert(1);};returnthis;}a.b = function() {alert(2);}a.prototype.b = function() {alert(3);}var b = function() {alert(4);}function b() {alert(5);}a.b(); b(); a().b(); b(); new a.b(); new a().b(); newnew a().b(); </script> </head><body><div></div> </body></html> 原文:...

一道非常易错的js面试题【代码】

题目如下:function Foo() {getName = function() {alert(1);};returnthis; } Foo.getName = function() {alert(2); }; Foo.prototype.getName = function() {alert(3); }; var getName = function() {alert(4); }; function getName() {alert(5); }请写出以下输出结果:Foo.getName(); getName(); Foo().getName(); getName(); new Foo.getName(); new Foo().getName(); newnew Foo().getName(); 题目来自慕课网 原文:http://www....

js 面试题解析(一)【代码】

1.call和apply的区别。当需要传的参数是一个数组时,使用apply更加方便;而使用call时需要将数组展开,将数组中的每一项单独传入。当需要传入的参数大于3个时,call的性能要略优于apply。fn.call(obj,1,2,3)fn.apply(obj,arr),fn.call(obj,...arr) 2.把一个字符串的大小写取反。let str = "asdfasFDGLASD你好,世界"str = str.replace(/[a-zA-Z]/g,content => {return content.toUpperCase() === content ? content.toLowerCase() ...

js面试题【代码】

var v = 123;function foo(){ var v = 456; function inner(){ console.log(v) } return inner}result = foo()console.log(result())# 问输出结果:NULLName=‘root‘;Age = 18;function Foo(name,age){ this.Name = name; this.Age = age; this.Func = function(){ // this=obj console.log(this.Name,this.Age); (function(){ console.log(this.Name,this.Age); ...

JS面试题(一)【代码】

1、JS六种基本数据类型:string Boolean number object undefined functiontypeof返回的是字符串,有六种:string Boolean number object undefined functionvar a=1; if(function f(){}){x+=typeof f; } //x的值:“1undefined”此时function f(){}不算函数声明,会被转换为true,而内部f未定义2、instanceof实例 a instanceof b(a是b的实例),返回true、false[] instanceof Array;//true3、delete 用于删除对象的成员变量(functio...

关于一道JS面试题的思考【代码】【图】

题目:for (var i = 0; i < 5; i++) {setTimeout(function() {console.log(new Date, i);}, 1000); } console.log(new Date, i);  1、面对这段代码时给出的结果也不尽相同,以下是典型的答案:  A. 20% 的人会快速扫描代码,然后给出结果:0,1,2,3,4,5;  B. 30% 的人会拿着代码逐行看,然后给出结果:5,0,1,2,3,4;  C. 50% 的人会拿着代码仔细琢磨,然后给出结果:5,5,5,5,5,5;  只要你对 JS 中同步和异步代码的区别、...

原生js面试题

1、线程与进程的区别一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看...

js面试题知识点全解(一原型和原型链1)【代码】

1.如何准确判断一个变量是数组类型2.写一个原型链继承的例子3.描述new一个对象的过程4.zepto(或其他框架)源码中如何使用原型链知识点:1.构造函数2.构造函数-扩展3.原型规则和示例4.原型链5.instanceof讲解:构造函数:一般函数为大写字母开头的都是构造函数,如下:function Foo(name,age){this.name=namethis.age=age//return this }var f = new Foo(‘L‘,20) ; //构造函数形成实例,可以创建多个对象;f是一个空对象,原型是Foovar...