考核内容:ajax跨域异步操作数据 题发散度: ★★ 试题难度: ★★ 解题思路: Ajax的全称是Asynchronous JavaScript and XML Ajax 是什么?...答:Ajax是一种可以在浏览器和服务器之间使用异步数据传输(HTTP请求)的技术。使用它可以让页面请求少量的数据,而不用刷新整个页面。...ajax() 它的一个优势异步操作,但jQuery的异步操作是基于事件的异步模型,没有promise那么友好。 fetch 产生的背景? 答:综合上面所讲的各种因素,fetch这个api应运而生。...fetch接口是用来解决Ajax(xhr)在写法和调用上的不合理和开放的js接口,Fetch 是浏览器提供的原生 AJAX 接口。...jquary 只是封装了AJAX的方法,即使不加载jquery也可以实现AJAX 参考: JS基础测试: 下列关于Ajax的描述正确的是? 答案:错误的是 D.
是指安全存储、操作 Javascript 中的任意精度整数,可以安全存储和操作大整数。即始超出 Number 能够表示的安全整数范围。...二,引用数据类型:对象、数组、函数 Null类型是第二个只有一个值的数据类型,这个特殊的值是null。...Null 只有一个值,是 null。不存在的对象。 Undefined 只有一个值,是undefined。没有初始化。undefined 是从 null 中派生出来的。...简单理解就是:undefined 是没有定义的,null 是定义了但是为空。 两种类型的区别: 1....传值方式不同 按值传递(call by value)是最常用的求值策略:函数的形参是被调用时所传实参的副本。修改形参的值并不会影响实参。
前言 promise 异步解决方案 步骤 Promise 对象是 JavaScript 的异步操作解决方案,为异步操作提供统一接口。...Promise解决了callback回调地狱的问题,async、await 是异步的终极解决方案。...catch 捕获错误,不能 return 回调地狱的根本问题在于: 缺乏顺序性: 回调地狱导致的调试困难,和大脑的思维方式不符 嵌套函数存在耦合性,一旦有所改动,就会牵一发而动全身,即(控制反转) 嵌套函数过多的多话...2)Promise Promise就是为了解决callback的问题而产生的。...> { // 操作逻辑 return ajax('XXX3') }).then(res => { // 操作逻辑 }) 缺点: 无法取消 Promise ,错误需要通过回调函数来捕获
考核内容: Proxy代理的设置和取消代理 题发散度: ★ 试题难度: ★ 解题思路: Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming...Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。 Proxy.revocable方法返回一个可取消的 Proxy 实例。...属性是Proxy实例,revoke属性是一个函数,可以取消Proxy实例。...上面代码中,当执行revoke函数之后,再访问Proxy实例,就会抛出一个错误。...Proxy.revocable的一个使用场景是,目标对象不允许直接访问,必须通过代理访问,一旦访问结束,就收回代理权,不允许再次访问。
考核内容: set结构的特点 题发散度: ★★ 试题难度: ★★ 解题思路: ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。...s.add(x)); for (let i of s) {console.log(i);}// 2 3 5 4 上面代码通过add()方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值...可见,使用add方法添加已经存在的成员,会自动忽略相同的值,相同的值保留一个。但是不会报错 参考代码: ? 答案: C、使用add方法添加已经存在的成员会报错
考核内容: this关键字 题发散度: ★ 试题难度: ★★ 解题思路: 当一个函数被调用时,拥有它的object会作为this传入。...在global下,就是window or global,其他时候就是相应的object。...相关试题: 百度实习生前端岗位的笔试题 /*this的作用域*/ var a = 10; function test() { a = 5; alert(a);...参考: 前端测试题: 关于this的用法下面说法正确的是? 答案: 欢迎大家在留言区域进行回复答案与调试 下一期会详细分析答案
考核内容:类class的声明与使用 题发散度: ★★ 试题难度: ★ 解题思路: ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。...基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。...ES6 的类,完全可以看作构造函数的另一种写法。...Point { // ... } typeof Point // "function" Point === Point.prototype.constructor // true constructor方法是类的默认方法...答案: C、 如果类的constructor构造方法有多个,后者会覆盖前者
考核内容: 有关于CSS盒模型知识 题发散度: ★ 试题难度: ★ 解题思路: CSS 盒子模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用...CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。 盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。...下面的图片说明了盒子模型(Box Model): 盒模型的组成,由里向外content,padding,border,margin....在IE盒子模型中,width表示content+padding+border这三个部分的宽度 在标准的盒子模型中,width指content部分的宽度 box-sizing的使用 box-sizing属性是...盒子模型 box-sizing: border-box 是IE盒子模型 box-sizing的默认属性是content-box 参考代码: 答案: C, 在标准的盒子模型中,width
下面是一个稍微复杂一些的 PHP 代码示例: age = $age; } } // 创建一个 Person 实例 $person = new Person("John Doe", 25); // 输出 Person 实例的属性值...""; // 修改 Person 实例的属性值 $person->setName("Jane Smith"); $person->setAge(30); // 再次输出 Person 实例的属性值...> 这段代码定义了一个名为 Person 的类,包含了私有的姓名和年龄属性,并且提供了访问和设置这些属性的方法。...通过创建一个 Person 实例,你可以获取和修改这些属性的值,并且使用 echo 语句输出到屏幕上。
HTTP 的工作方式是客户机与服务器之间的请求-应答协议。 两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。...POST - 向指定的资源提交要被处理的数据 1.get传参方式是通过地址栏URL传递,是可以直接看到get传递的参数,post传参方式参数URL不可见,get把请求的数据在URL后通过?...psot将参数存放在HTTP的包体内 2.get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字符。... 对于GET,POST在前端的请求数据方法可以参考: 前端测试题:有关于js中跨域请求的说法,错误的是?...答案:错误的是 get 传递数据是通过URL进行传递,对传递的数据长度没有限制。 post 长度受到URL大小的限制
它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。...也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。...如果你需要“键值对”的数据结构,Map 比 Object 更合适。...该数组的成员是一个个表示键值对的数组 参考代码: const map = new Map([ ['name', 'shuke'], ['title', 'Author']]);...) // truemap.get('name') // "shuke"map.has('title') // truemap.get('title') // "Author" 答案: C、Map结构的键名必须是引用类型
从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。...只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是Promise这个名字的由来,它的英语意思就是“承诺”,表示其他手段无法改变。...如果改变已经发生了,你再对Promise对象添加回调函数,也会立即得到这个结果。这与事件(Event)完全不同,事件的特点是,如果你错过了它,再去监听,是得不到结果的。...参考代码: 下面是一个用Promise对象实现的 Ajax 操作的例子。...如果是一个错误的地址: ? 答案: D、 rejected失败可以状变成fulfilled成功
考核内容:ajax跨域异步操作数据 题发散度: ★★ 试题难度: ★★ 解题思路: Ajax的全称是Asynchronous JavaScript and XML Ajax 是什么?...ajax() 它的一个优势异步操作,但jQuery的异步操作是基于事件的异步模型,没有promise那么友好。 fetch 产生的背景? 答:综合上面所讲的各种因素,fetch这个api应运而生。...fetch接口是用来解决Ajax(xhr)在写法和调用上的不合理和开放的js接口,Fetch 是浏览器提供的原生 AJAX 接口。...对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。 jquary 只是封装了AJAX的方法,即使不加载jquery也可以实现AJAX 答案:错误的是 D....Ajax的实现流程是怎样的? AJAX请求总共有多少种CALLBACK? AJAX有哪些有点和缺点? 请解释一下 JavaScript 的同源策略? 阐述一下异步加载JS? 如何解决跨域问题?
考核内容:set结构键名和键值的特点 题发散度: ★★ 试题难度: ★ 解题思路: ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。...Set本身是一个构造函数,用来生成 Set 数据结构。 Set 结构的实例有四个遍历方法,可以用于遍历成员。...Set.prototype.keys():返回键名的遍历器 Set.prototype.values():返回键值的遍历器 Set.prototype.entries():返回键值对的遍历器 Set.prototype.forEach...由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。 所以 entries返回是对象类型,而没有成员位置的索引; 参考代码: ?...答案: C、entries方法返回成员的位置索引和值的遍历器
考核内容: js基础 题发散度: ★ 试题难度: ★ 解题: 我们已经知道, ECMAScript是JavaScript的标准,所以一般情况下这两个词我们认为是一个意思。...但是,实际上JavaScript的含义更大一些。一个完整的JavaScript实现应该有以下三个部分构成 : ECMAScript : JavaScript的核心部分。...浏览器和nodejs都可以使用 JavaScript BOM:负责与浏览器窗口本身 的交互部分。浏览器专属 JavaScript DOM:负责与页面标签交互的部分。
考核内容:javascript中String字符串的新特性repeat函数的使用 题发散度: ★★ ★ 试题难度: ★ 解题思路: 字符串的新增方法 repeat方法 返回一个新字符串,表示将原字符串重复
考核内容: javascript内存泄漏 题发散度: ★★★ 试题难度: ★★★ 解题思路: 什么是内存泄漏 内存泄露是指当一块内存不再被应用程序使用的时候,由于某种原因,这块内存没有返还给操作系统或者内存池的现象...常见 JavaScript 内存泄露 1. 意外的全局变量 JavaScript 处理未定义变量的方式比较宽松:未定义的变量会在全局对象创建一个新变量。在浏览器中,全局对象是 window 。...全局变量可能由 this 创建: 在 JavaScript 文件头部加上 'use strict',可以避免此类错误发生。启用严格模式解析 JavaScript ,避免意外的全局变量。...4:闭包 闭包是 JavaScript 开发的一个关键方面:匿名函数可以访问父级作用域的变量 闭包的作用域一旦创建,它们有同样的父级作用域,作用域是共享的 它引用的变量迫使它保留在内存中(防止被回收)每一个闭包作用域携带一个指向大数组的间接的引用...答案:错误的是 B. 如果一个对象的引用数量为 0,或对该对象的惟一引用是循环的,那么该对象的内存不可回收。
大家好,又见面了,我是你们的朋友全栈君。...自定义的结构,0); 跟 iocp绑定的一个自定义参数; lpOverlapped : 是传递给 WSASend / WSARecv 的参数; 这2个参数最终会被GetQueuedCompletionStatus...同样的 , AcceptEx 也要传递一个Overlapped结构,现在问题来了,如果只调用了AcceptEx , GetQueuedCompletionStatus 是不会返回的, 因为只有跟 iocp...关联(CreateIoCompletionPort)的HANDLE / SOCKET 才会 被触发, 因此只需要把 监听套接字 跟iocp 关联即可; 下面代码使用了AccpetEx 和一个用于获取地址的扩展函数...下面代码里没有使用 CancelIo 之类的函数,如果实际需要直接用 CancelIoEx 来取消无关线程的Overlapped操作, 另:在发送数据[WSASend] 完成后 , 需要检查是否发送完成
考核内容: this关键字 题发散度: ★ 试题难度: ★★ 解题思路: 可以参考以下说明: 前端测试题: 关于this的用法下面说法正确的是?...this 的工作原理 JavaScript 有一套完全不同于其它语言的对 this 的处理机制。在五种不同的情况下 ,this 指向的各不相同。...1.全局范围: this; 浏览器中运行的 JavaScript 脚本,这个全局对象是 window。 2.全局函数调用: foo(); 这里 this 也会指向全局对象。...new创建的对象,因为未定义this.a,所以undefined 答案:错误的是 C....调用的函数作为一个对象的属性出现时, this 指向的是当前函数对象。
this.y = y; } } class Child extends Father { constructor(x, y, color) { this.color = color; // 错误写法...,子类B的构造函数之中的super(),代表调用父类的构造函数。...这是必须的,否则 JavaScript 引擎会报错。...super虽然代表了父类A的构造函数,但是返回的是子类B的实例,即super内部的this指的是B的实例, 因此super()在这里相当于A.prototype.constructor.call(this...A.prototype.x = 2; class B extends A { constructor() { super(); console.log(super.x) // 2 } } 答案:错误的是