前端开发!

一 。js 数据类型有几种?

1基本 :null undefined number string bool。 symbol

  object, 

typeof ()是一个一元运算符,括号可以省略,拥有很高的运算符。

2 复杂数据类型: object。

typeof (object):object。

二 。复杂数据类型:数组

1判断对象是否是一个数组?

constructor,isArray。如果一个页面有两个ifrem,constructor和isArray出现问题,如果在两个不同的window的对象,object.prototype.toStirng.call()===。

2 数组方法?

map,reduce,filter,

有哪些对原来的有影响: pop,push,unshift,shift, reverse,sort,splice.其他的方法对原数组都是没有影响的。

3 数组去重方法?

 1 创建一个空数组: 创建一个空数组,push,indexof

 2 不创建空数组:原数组有影响,splice,依次的进行对比。长度进行-。如果和前面或者后面一样的话,要删除!

 3 对象属性不能相同:对象上的属性不能重复!

 4 可以对原先的数组进行排序,然后进行循环!

最短数组去重: [...] new set 对象。

4 伪数组有哪些? dom选择器, argment对象(函数对象参数不确定),jq框架(jq选择器选择出来的。)

 伪数组-》 真数组: [].slice.call调用数组原型对象的方法。

三。字符串

1 字符串有哪些方法?

charAt,

2 slice,sustr,suplc。有什么区别?

四。数字

判断 NaN()?

传进来的是否可以转为数字?

isNaN()===

NaN ===NaN不相等。

五。布尔类型?

js类型有哪些转化boolean是fasle。只有: 0,-0,unll,undifind,'',NaN,

对象,数组转化为布尔是true。

六 new操作符

   创建一个空对象

  修改this指针,

  执行代码

  返回。

new 没有参数时候,是可以省略。

对于构造函数,里面的返回值。new创造的是返回值,返回的不是一个对象,则会被忽略,是一个对象。

若是一个对象,则会返回设置对象。 就是单例模式。

七。继承如何实现?

2个类进行继承。

1 原型链继承。 A B B.prototype = new A()。 缺点:1只能继承原型对象上继承。2 只能有一个父类,不能多继承。 3修改一个会被覆盖。

2 构造函数式继承。 B 中写A.apply() 。  缺点: 1 独立的,不共享。2存一个属性。

3 组合式继承。 (伪完美继承) 缺点: 1 占一些内存。

2个对象进行继承。

4  原型式继承。B create.prptotyepe=A。让b直接继承A。直接一个对象继承另一个对象。

5 寄生式继承。

6 组合寄生式继承。(完美继承)

八。

defer延迟执行。从上到下依次执行。(文档解析完之后,才会去执行,放在head里面,就相当于body后面。)

async:异步加载。下载完之后,立刻去执行。

js加载,会阻塞html渲染。

正常...,但如果有async,会改用异步去加载文件。

九。promise。

promise实现的方式和方法。

new Promise。 参数:成功回调,失败回调。

then,cacth。

all。和rice的区别?

都是数组。

all:全部完成之后,

race:传一个,第一个值会传给值。

promisethen和cathc的返回的值?

then: 返回的是promise对象。 显示返回一个非promise对象,还是一个promise对象,then会立即执行,不会等待()。

异常捕获:try cacth,try里面,catrh里面。不能捕获异步的异常,

promise。可以捕获异步的异常。 reject,resveie。

十。ES6

1 import export 模块化。

2解构赋值

3 let,const。 (var则是完全可以放弃掉)

4 class。extends。

5 函数的拓展。(1 箭头函数 2 ...参数 3 双冒号的使用 4 参数可以默认赋值)

6 字符串: 字符串模板。

7 数组增加方法: form,of,拓展运算符(...)

8对象进行拓展:(1 属性简单表达式,2解构赋值 ,3keys values anture, )

9 class类

10 promise对象。

11 babel转换。 babel每一个转化是怎么实现的? let,const,箭头函数,解构和拓展是怎么写的

十一:箭头函数和不同的区别?

没有argument对象,this不会改变。

十二:

事件如何实现?

嵌入dom。=‘onclick’

直接绑定。documentget之后。获得一个检点

事件监听。浏览器兼容性的处理?

事件委托?

事件流?

window在回到window。第一个捕获,第二个目标阶段,第三个冒泡阶段。若在三个阶段都存在,那么决定?

stop,prevent?阻止默认行为,阻止事件冒泡。

target,enevt。

十三:网络请求相关的问题?

1 状态码: 301,303,502,503,504.。

2 url加载一个流程: 输入地址,启动缓存,发动一个http请求,重定向,返回http相应。

3 请求的时候跨域?

   jsonp的问题(1只能get请求因为走的是scirpt标签。2 有安全隐患)。

  设置dom, 修改dom.Affre 改为主域。

  还可以设置哈希window.haxi。

  window.name() 

  postmessage()。多窗口的通信!两个窗口实现通信!第一个数据,第二个是参数。

  服务端:对象的属性,属性的withchorm,前端coockie

  服务端:nginx反向代理。配置一个代理服务器。作为一个跳板。使用node中间代理。同源策略,浏览器,

  websokect原生的,scokec.js。

4 image跨域。 只能发服务器的信息。css数据统计。不存在是不存在,只有有变化,image跨域。

后续问题:

1 三大框架。生命周期。

2 虚拟dom如何实现?有什么缺点?

3 数据绑定。mv,vm,

4 jq,ajax发送,返回值是什么?dom选择器如何进行优化?

5 lowdanshi。工具化函数防抖函数,节流函数?fp。

6 css

7webworkc

8https

9amd cmd,umd 模块化。

10性能优化,

11etag,

12 快排。闭包 。

13 cookise如何如何删除。

原文地址:https://www.cnblogs.com/hacker-caomei/p/14354680.html