80%人会答错的JS基础面试题】的更多相关文章

这套题第一道题难度最大,我第一遍的回答居然也错的,我悲观估计80%的JavaScript从业人员都答不完全准确 []==![] 得到什么? false, 你还需要看看基础 true, 恭喜你答对了,你的推导过程是否正确呢? 请看代码链接,http://jsbin.com/uVOTOce/9…
1,考察this var length = 10 function fn(){     alert(this.length) } var obj = {     length: 5,     method: function(fn) {         fn() // ?         arguments[0]() // ?     } } obj.method(fn) 这里的坑主要是arguments,我们知道取对象属于除了点操作符还可以用中括号,这里fn的scope是arguments,即…
function printArray(arr){ for(var i in arr){ if(arr[i] instance of Array){ printArray(arr[i]); }else{ document.write(arr[i]+' '); } } } var data=[1,[20,21],[[301,302],[310,[311]]]; printArray(data); 上述代码运行后,页面输出结果为? 答:1 20 21 301 302 310 311 函数printA…
1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String 值类型:数值.布尔值.null.undefined. 引用类型:对象.数组.函数. 堆栈数据结构:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! js数组中提供了以下几个方法可以让我们很方便实现堆栈: shift:从数组中把第一个元素删除,并返回这个元素的值. unshift: 在数组的开头添加一个或更多元素,并返回…
一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.Web前端常见面试题及答案 6.常见前端面试题及答案(上) 7.web前端面试题及答案 8.web前端经典面试题 9.javascript之面试题精讲 二.面试题汇总 网上搜到一大堆面试题,重复的不少,全部归纳一下,也加上自己的理解 (一).问答类(html/css/js基础) 1. JavaScri…
  前端基础面试题(JS部分)   1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String值类型:数值.布尔值.null.undefined.引用类型:对象.数组.函数.堆栈数据结构:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出!js数组中提供了以下几个方法可以让我们很方便实现堆栈:shift:从数组中把第一个元素删除,并返回这个元素的值.unshift: 在数组的开头添…
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // object typeof isNaN; // function typeof isNaN(123); //boolean typeof []; // object Array.isArray(); // false toString.call([]); // [object Array] var a…
温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // object typeof isNaN; // function typeof isNaN(123); //boolean typeof []; // object Array.isArray(); // false toString.call([]); // [object…
最近面试比较多,但每次我问这个问题的时候,答出来的同学并不多 var a = 0; if( a) { alert(1); } 这个问题有部分人会答alert(1),   有些人会答不执行. 结果是不执行的,但答不执行的同学也说不出为什么,他只会说以他的经验,所以在这里我觉得有必要补下js基础知识,js基础好的人可以跳过此博文. 首先说这个问题之前 我们先回忆下 Boolean(); Boolean 是个转型函数.即可以传任何值转成 boolean类型, 即返回true 和 false. 那么什么…
重点:先声明,从左向右,声明变量分配内存,后赋值,从右向左 问题 var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a.x); console.log(b.x); 先不说答案,可能有些人已经答错了~ 错误的答案 这多简单!JS赋值运算右结合!那就分开算呗! a = {n: 2} a.x = a 然后错误的答案就这么产生了,a.x = {n: 2} 正解 其实这道题看似简单但还是有一些绕,我依稀记得高中数学老师那句经典的口头禅!遇到难…
js基础 - 变量 *大家对js一定不会陌生,入门很简单(普通入门),很多人通过网络资源.书籍.课堂等很多途径学习js,但是有些js基础的只是往往被大家遗漏,本章就从js变量类型来说一说js 变量类型* js变量类型分为基本类型(或者叫值类型)和引用类型.值类型包括Number.Boolean.String.undefined. null.Symbol (ES6 新增). 引用类型包括Object .Array.Function.Date.RegExp,值类型存放在栈内存中,引用类型的数据是存放…
今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月份上面进而改变当前月的背景颜色,并在下面的div中显示这个月的相应信息. 新增js知识:数组,innerHTML js代码: <script type="text/javascript"> var arr= ['一月,新年伊始,該做點什麽呢....','二月,春天來了....'…
Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP&HTTPS 进程与集群 网络安全 关于node.js的误会 昨天写了篇博客,介绍了一下我对node.js的第一次亲密接触后的感受,以为node.js很小众,出乎我意料很多人感兴趣,并且对博客中的细节问题做了评论,最多的是围绕node.js的异步与单线程展开的,当然还有很多关于node.js究竟是不是语…
适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”JavaScript”>  2: JavaScript code goes here  3: </script> 2 隐藏脚本代码 1: <script language=”JavaScript”>  2: <!--  3: document.write(“Hello”); …
a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象.如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj. apply方法: 语法:apply([thisObj[,ar…
/*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识以后有机会再总结.*/ /*第一部分,webgl与three.js基础介绍,要求读者掌握JavaScript入门知识*/ //webgl原理:通过JavaScript语言在浏览器端生成glsl代码,把glsl代码送入显卡执行,把执行结果显示在浏览器中 //简单例程: //根据Tony Parisi著…
node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherrio. 使用http直接获取url路径对应网页资源,然后使用cherrio分析. 这里我主要学习过的案例自己敲了一遍,加深理解.在coding的过程中,我第一次把jq获取后的对象直接用forEach遍历,直接报错,是因为jq没有对应的这个方法,只有js数组可以调用. 二.知识点    ①:supera…
是时候写一写 "继承"了,为什么加引号,因为当你阅读完这篇文章,你会知道,说是 继承 其实是不准确的. 一.类1.传统的面向类的语言中的类:类/继承 描述了一种代码的组织结构形式.举个例子:"汽车"可以被看作是"交通工具"的一种特例.我们可以定义一个 Vehicle 类和一个 Car 类来对这种关系进行描述.Vehicle 的定义可能包含引擎.载人能力等,也就是 所有交通工具,比如飞机.火车和汽车等都有的通用的功能描述.在对 Car 类进行定义的…
 AJAX学习前奏----JS基础加强 知识概要: 1.js类&属性&方法的定义 2.静态属性与方法 3.构造方法 4.原型的使用 5.Object对象直接加属性和方法 6.JSON数据 7.继承关系的模拟 8.重载的模拟 9.with语句与forin语句 1.js类&属性&方法的定义 类的定义: 一个函数就是一个类                如何定义私有属性,私有的用var声明,公有的用this声明 <title>js模拟类的相关概念</titl…
欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefined.Number,String,Boolean. 复杂数据类型:Object. 一.Object <JavaScript语言精辟>这本书里面是这么定义的:数组是对象,函数是对象,正则表达式也是对象,当然,对象也是对象. JavaScript包括一个原型链特性,允许对象继承另一个对象的属性,正确的使…
本文重点是要梳理执行上下文的生命周期中的建立作用域链,在此之前,先回顾下关于作用域的一些知识. 1.什么是作用域(scope)? 在<JavaScritp高级程序设计>中并没有找到确切的关于作用域的定义,只是在"4.2执行环境及作用域"中简单说了下执行环境(execution context)的概念.而执行环境其实就是之前博客:js基础梳理-究竟什么是执行上下文栈(执行栈),执行上下文(可执行代码)?中的执行上下文. 而在<JavaScript权威指南>中,对作…
js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设一栋摩天大厦 Html 结构 css 装修 javaScript 物业 (==和用户交互==) 如何和用户进行交互. 2.认识JavaScript 基于对象和事件驱动的客户端脚本语言. ++JavaScript是一种专为与网页交互而设计的客户端脚本语言.++ 网页交互 和网站进行互动 客户端 客户端…
是时候写一写 “继承”了,为什么加引号,因为当你阅读完这篇文章,你会知道,说是 继承 其实是不准确的. 一.类1.传统的面向类的语言中的类:类/继承 描述了一种代码的组织结构形式.举个例子:“汽车”可以被看作是“交通工具”的一种特例.我们可以定义一个 Vehicle 类和一个 Car 类来对这种关系进行描述.Vehicle 的定义可能包含引擎.载人能力等,也就是 所有交通工具,比如飞机.火车和汽车等都有的通用的功能描述.在对 Car 类进行定义的时候,重复定义“载人能力”是没有意义的,我们只需要…
一.折线 var draw = SVG('svg1').size(300, 300); //画折线 //使用字符串点 // var polyline=draw.polyline('0,0 100,50 50,100'); // polyline.fill('none').stroke({width:2}); //使用数组点 var polyline = draw.polyline([ [0, 0], [100, 50], [50, 100] ]); polyline.fill('none').s…
js基础 1.三种js引入方式    a).<input type="button" value="点击事件" onClick="document.write('Hello Word!')">    b). <script type="text/javascript">             document.write('Hello Word!')        </script>  …
JS基础学习--对象 什么是对象 对象object是JS的一种基本数据类型,除此之外还包括的基本数据类型有string.number.boolean.null.undefined.与其他数据类型不同的是,对象是一种复合值,由多个键值对组成,这些键值对也可以看成对象的属性集合,键为属性名,值为属性值(任意数据类型). object又可以分成多种子类型,称为JS的内置对象,包括String.Number.Boolean.Function.Array.Data.RegExp(regular expre…
JS基础学习--作用域 什么是作用域 变量的作用域就是变量能被访问到的代码范围,比如在下面的这个js代码中,变量a的作用域就是函数foo,因此在全局作用域内的console.log(a)语句不能访问到变量a,报ReferenceError错误. function foo() { var a =3; console.log(a); } foo();/*3*/ console.log(a);/*ReferenceError: a is not defined*/ 作用域可以分为词法作用域和动态作用域…
js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器对象browser).ESMAScript(语法).js是esmascript的实现和扩展. ESMAScript数据类型 数据类型 七种数据类型:string,number,boolean,null,undefined,symbol (ECMAScript 2015新增),object. 六种基本…
第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服.玩具.水果...等.…
JS的原型.原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个概念一知半解,碰到问题靠"猜",却不理解它的规则! prototype 只有函数有prototype属性 let a = {} let b = function () { } console.log(a.prototype) // undefined console.log(b.pro…