JS 面试题 实践一】的更多相关文章

1.完成 extname 函数,它会接受一个文件名作为参数,你需要返回它的扩展名. 例如,输入 emoji.png,返回 .png. const extname = (filename) => { /* TODO */ var arr = filename.split('.'); if (arr.length < 2 || arr[0] === '' ) return ''; return '.' + arr[arr.length-1];}…
2017面试分享(js面试题记录) 1. 最简单的一道题 '11' * 2 'a8' * 3 var a = 2, b = 3; var c = a+++b; // c = 5 2. 一道this的问题 var num = 10; var obj = { num:8, inner: { num: 6, print: function () { console.log(this.num); } } } num = 888; obj.inner.print(); // 6 var fn = obj.…
如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8…
在班上无聊的时候看到了一份JS笔试题(我是电面进去的,没做过这份题~~),开始还觉得蛮简单......后来觉得还是很有意思的,贴出来一起看看. 题目一: if(!("a" in window)){ var a = 1; } alert(a); 题目二: var a=1, b= function a(x){ x&&a(-xx); }; alert(a); 题目三: function a(x){ .. return x*2; .. } var a; alert (a); 题…
最近花了一周时间把<编写可维护的js> 阅读了一遍, 现将全书提到的JS编程最佳实践总结如下, 已追来者! 1.return 之后不可直接换行, 否则会导致ASI(自动分号插入机制)会在return 后插入一个分号. 2.一行语句最多不超过80个字符, 如果超过则应该在运算符后换行,并且追加两个缩进. 3.采用驼峰式命名,变量前缀为名词如:myName 函数应该以动词开始如:getName,常量应该以大写字母命名,如:MAX_COUNT, 构造函数首字母大写. 4.数字的写法: 整数:coun…
自己总结了一些JS面试题 希望能够帮助正在找工作的程序猿(●´∀`●) 1.js 实现一个函数对javascript中json 对象进行克隆 var oldObject ="sdf"; var newObject = JSON.parse(JSON.stringify(oldObject)); console.log(newObject); 或者 var a = 'dddd'; function cp(a){return JSON.parse(JSON.stringify(a))} c…
译者按: 从ECMAScript标准,Node.js语法以及NPM模块角度来看,Node.js的发展让人目不暇接,那么面试题也得与时俱进. 原文: Node.js Interview Questions and Answers (2017 Edition) 译者: Fundebug 为了保证可读性,本文采用意译而非直译. 问题 - 什么是错误优先的回调函数?- 如何避免回调地狱?- 什么是Promise?- 用什么工具保证一致的代码风格?为什么要这样?- 什么是Stub?举例说明- 什么是测试金…
Vue.js面试题整理 一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑:View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象(桥梁). 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的,…
刚入职新公司,属于公司萌新一枚,一天下午对着屏幕看代码架构时. BI项目组长给我看了一道面试别人的JS面试题. 虽然答对了,但把理由说错了,照样不及格. 话不多说,直接上题: var a = 1; switch (a) { case 2: console.log(2) break; case 1, 2, 3: // 这里case是对比几呢? console.log(1) break; default: break; } // result:最后什么都不会输出 看完题如果答对并且知道理由的小伙伴,…
js经典试题之常用的方法 1.下面代码输出的值 let s = "bob" const replaced = s.replace('b', 'l') replaced === "lob" s === "bob" 答案: true true 解析:replace 只会替换第一个匹配的字符串,如果你想替换所有匹配的字符串,你可以使用带/g标志的正则表达式 . "bob".replace(/b/g, 'l') === 'lol' /…
js经典试题之运算符 1.假设val已经声明,可定义为任何值.则下面js代码有可能输出的结果为: console.log('Value is ' + (val != '0') ? 'define' : 'undefine'); 答案: 第一题: 答案:define 解析:加号优先级高于 三目运算.低于括号. 所以括号中无论真假 加上前边的字符串都为 TRUE 三目运算为TRUE是 输出 define…
js经典试题之ES6 1:在ECMAScript6 中,Promise的状态 答案:pending  resolved(fulfilled) rejected 解析: Promise对象只有三种状态: 异步操作“未完成”(pending)—— 异步操作“已完成”(resolved,又称fulfilled)—— 异步操作“失败”(rejected) 这三种的状态的变化途径只有两种: 异步操作从“未完成”到“已完成”——异步操作从“未完成”到“失败”. 这种变化只能发生一次,一旦当前状态变为“已完成…
js经典试题之w3规范系列 1:w3c 制定的 javascript 标准事件模型的正确的顺序? 答案:事件捕获->事件处理->事件冒泡 解析:先事件捕获从windows > document 往下级直到 特定的事件节点,然后进行事件处理,再事件冒泡,从特定节点往上级,这个完整的过程 2:列举javascript  Browser 对象? 答案: Navagator:提供有关浏览器的信息 Window:Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性…
js经典试题之原型与继承 1:以下代码中hasOwnProperty的作用是? var obj={} …….. obj.hasOwnProperty("val") 答案:判断obj对象是否具有val属性 解析: hasOwnProperty: 是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员. isPrototypeOf : 是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回tr…
js经典试题之数组与函数 1:列举js的全局函数? 答案:JavaScript 中包含以下 7 个全局函数escape( ).eval( ).isFinite( ).isNaN( ).parseFloat( ).parseInt( ).unescape( ). 注意:serTimeout是window的一个方法(window对象的方法),如果把window当做全局对象来看待的话,它就是全局函数.严格来讲,它不是. 2:深复制与浅复制的区别,以及如何实现? 答案: 浅复制只会将对象的各个属性进行依…
js经典试题之闭包 1:以下代码输出的结果是? function Foo(){ var i=0; return function(){ document.write(i++); } } var f1=Foo(), f2=Foo(); f1(); f1(); f2(); 答案:0 1 0 解析: 这是一个闭包,闭包可以用在许多地方.它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中. 这里的局部变量i,对f1()来说是全局变量,对f2()来说也是全…
js经典试题之数据类型 1:输出"B" + "a" + + "B" + "a"的值: 答案:BaNaNa. 分析:因为+"B"的意思就是把这个字符串转化为数字,但是因为"B"不能转化为数字,所以只能变成NaN(not a number)了.   另外因为字符加上任意类型都会把后面的类型转化为字符,使得 NaN 变成了"NaN" 2:[] == [] 的值为? 答案:f…
Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结 1. 本文范围 1 2. Angular的优点 1 2.1. 双向数据绑定 1 2.2. dsl化 2 2.3. 依赖注入 2 2.4. 指令 2 3. 手动绑定数据spa方式以及与ajax 与dwr的集成 2 4. 格式化数据 2 4.1. 多字段组合格式化 3 4.2. 输出html 4 5. 输出作为函数参数调用 4 6. 加载完成事件 5 7. 常见错误 5 7.1. Atitit.a…
一.JS闭包. f = function() {return true;};    g = function() {return false;};    (function() {       if (g() && [] == ![]) {          f = function f() {return false;};          function g() {return true;}       }    })();    alert(f()); // true or fal…
Cookie和Session在Node.JS中的实践(三) 前面作者写的COOKIE篇.SESSION篇,算是已经比较详细的说明了两者间的区别.机制.联系了.阅读时间可能稍长,因为作者本身作图也做了不短时间,都是为了能形象的把COOKIE和SESSION的运行原理描述出来,但花点时间去阅读理解他们是值得的.因为这个技术点虽然小,但涉及到前后端交互,无论是做前端还是后台,都需要懂.不然,只会遭同事鄙视--所以,为了不被鄙视,还是好好读多点书,充实自己. 如果还未搞懂COOKIE和SESSION的,…
Cookie和Session在Node.JS中的实践(二) cookie篇在作者的上一篇文章Cookie和Session在Node.JS中的实践(一)已经是写得算是比较详细了,有兴趣可以翻看,这篇是session篇,重点在讨论session的特性.概念,以及session和cookie的区别和联系. session COOKIE存在于客户端,而SESSION存在于服务端,并且SESSION需要COOKIE的支持. session是存在于服务端的信息管理机制,它把客户端信息以某种信息形式记录在服务…
Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听80端口? 什么是事件循环? 哪些工具可以用来保证一致的编程风格? 什么是测试金字塔?对于HTTP API,如何利用测试金字塔? 你最喜欢的HTTP框架,并说明原因? 现在,我们依次来解答这些问题吧. 什么是错误优先的回调函数? 错误优先的回调函数用于传递错误和数据. 第一个参数始终应该是一个错误对象, 用于检查程序是否发生了错误.其余的参数用于传递数据.例如: Crayon Syntax Highli…
这段时间一直在研究设计模式,在看工厂模式的时候,看到一段代码 VehicleFactory.prototype.createVehicle = function ( options ) { if( options.vehicleType === "car" ){ this.vehicleClass = Car; }else{ this.vehicleClass = Truck; } return new this.vehicleClass( options ); }; 对这段代码最后的…
# 声明:学习编程语言最好的方式就是通过实例学习 ## 下面是我在博客上看到的一道js面试题,可以说非常经典,下面会以最简单的方式让你理解题目:```bashfunction Foo() { getName = function () { alert (1); }; return this;}Foo.getName = function () { alert (2);};Foo.prototype.getName = function () { alert (3);};var getName =…
判断 js 类型的方式 1. typeof 可以判断出'string','number','boolean','undefined','symbol' 但判断 typeof(null) 时值为 'object'; 判断数组和对象时值均为 'object' 2. instanceof 原理是 构造函数的 prototype 属性是否出现在对象的原型链中的任何位置 function A() {} let a = new A(); a instanceof A //true,因为 Object.get…
Vue.js 面试题整理   Vue项目结构介绍 build 文件夹:用于存放 webpack 相关配置和脚本. config 文件夹:主要存放配置文件,比如配置开发环境的端口号.开启热加载或开启gzip压缩等. dist 文件夹:默认命令打包生成的静态资源文件. node_modules:存放 npm 命令下载的开发环境和生产环境的依赖包. src: 存放项目源码及需要引用的资源文件. src下assets:存放项目中需要用到的资源文件,css.js.images 等. src下compone…
转载自:https://www.cnblogs.com/aimeeblogs/p/9501490.html 如有侵权 联系删除 Vue.js面试题整理 一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑:View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象(桥梁). 在MVVM架构下,View 和…
超过80%的候选人对下面这道JS面试题的回答情况连及格都达不到.这究竟是怎样神奇的一道JS面试题?他考察了候选人的哪些能力?对正在读本文的你有什么启示? 不起眼的开始 招聘前端工程师,尤其是中高级前端工程师,扎实的 JS 基础绝对是必要条件,基础不扎实的工程师在面对前端开发中的各种问题时大概率会束手无策.在考察候选人 JS 基础的时候,我经常会提供下面这段代码,然后让候选人分析它实际运行的结果: for (var i = 0; i < 5; i++) { setTimeout(function(…
[前端芝士树] Vue.js 面试题整理 MVVM是什么? MVVM 是 Model-View-ViewModel 的缩写. Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑. View 代表UI 组件,它负责将数据模型转化成UI 展现出来. ViewModel 监听模型数据的改变和控制视图行为.处理用户交互,简单理解就是一个同步View 和 Model的对象,连接Model和View. 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewM…
<Vue.js 2.x实践指南>其实在一年前就已经完稿了,只是由于疫情的缘故耽搁了很久才下厂印刷.阅读本书需要具备HTML.CSS和JS基础,本书针对的用户群体主要是:想要快速学习vue技术,并能够用vue进行实际项目开发的读者以及高校计算机专业学生.书中通过一个H5移动应用和一个PC Web应用来讲述了vue的实践应用.注:本书提供PPT课件. 书中示例项目截图: 书目录大纲: 第 章 ◄ VUE开发前奏 ► 多页WEB应用(MPA) 单页WEB应用(SPA) 在PROMISES出现之前的文…