美文网首页
原生面试题

原生面试题

作者: 最念倾城 | 来源:发表于2020-04-27 18:46 被阅读0次
### js中的事件传播流程
···
捕获阶段,事件源阶段,冒泡阶段
onclick和addEventListener('click',function(){},false)

事件阻止
target和currentTarget的区别
target表示触发事件标签,currentTarget便是绑定的事件标签

### 闭包
···
function中可以存在另一个function,在其内部生成一个局部的作用域。
在function外部可以直接访问这个function的变量

### 原型和原型链  
···
在js中对象都有一个饮食的原型__proto__
function对象有一个显示的原型prototype
在js通过__proto__可以找到此对象的原型,逐层查找知道找不到的时候位置


### 跨域和本地储存
···
是否遇见过跨域:没有,公司给调好了
cookie,localstorage,sessionstorage
cookie每一次和服务器交互都会在请求头中传递给服务器,4K,可以自己设置过期时间
localstorage一直存在,除非手动删除,最大5M
sessionstorage跟localstorage一样,唯一事件是储存时间不一样

  ### ajax请求

  异步的javascript和xml。是一种客户端和服务器的通讯技术
  原生js实现ajax请求:XmlHttpRequest

  ###  同步跟异步
  ···
  同步:阻塞模式,代码执行到时会等待比较耗时长
  异步是非阻塞模式:代码会一直执行,当比较耗时的操作完成后会触发回调函数

  ### es6 新增 
  ···
  module,class,const,let,箭头函数,generate生成器,模板字符串,解构赋值,拓展运算符
  es6继承:声明子类 extends 父类名 就继承父类了
  const和let有什么区别,const变量不能改,let变量可以改
  ### promise
  ···
  promise是es6中新增的一个对象,用来解决function的回调地域问题。
  我们可以通过then进行监听成功的回调,catch监听失败的回调函数,
  promise对象状态改变后不可逆
  new Promise((resolve,reject)=>{
    promise.all =》 promise全部对象完成之后触发
    promise.race  =》 只要有一个完成就触发
  })

  ### 回调函数
  ···
  回调函数定义:在js中function可以当作参数传递给另一个方法,在其中进行调用

  ### this指向问题?function和箭头函数有什么区别
  ···
this默认指向window对象
箭头函数没有自己的this,指向和上下文(context)中的this指向相同
改变this指向方法
1.定义一个that
2.通过bind方式改变
3.通过call和apply
bind和call和apply区别
bind只改变this指向,不会执行方法
call和apply改变this指向并执行方法
call和apply区别:传递的参数形式不一样


### 什么是面向对象?
···
面向对象的三大基本特征:封装,继承,多态    
把所有内容都当作对象来处理
// var obj = new Object();

### 模块加载方案,amd,cmd,cmmonjs
···
amd:异步加载,依赖前置,require.js
cmd:sea.js
commonjs:nodejs中的加载方案

### bom,dom区别
···
document.getElementById
document.getElementsByClassName
document.getElementsByName
document.getElementByTagName
document.querySelector
document.querySelectorAll

### bom对象
···
alert
console
history
navigator


### 怎么判断当前用户的访问来源(客户端的浏览器信息)
···
navigator.userAgent//用户代理,可以获取当前用户的浏览器和操作系统信息

### 怎么获取用户的gps坐标
···
navigator...
navigator.geolocation  =》使用navigator.geolocation来获取用户的地理位置信息
https://blog.csdn.net/weixin_30412167/article/details/97362565

### 常见的元素选择器有哪些?

数据类型有哪些,区别
···
一般数据类型和复杂数据类型
string boolean null number object undefined symbol

### 数组的常见的操作方法有哪些?
···
push pop shift unshift
map forEach reduce filter find findIndex sort aplice

### json和js对象怎么转换
···
JSON.stringify(jsonstr);//可以将json对象转换成json对符串
JSON.stringify
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.parse

### jQuery中的元素选择方式有哪些?
···
jQuery('css选择器')
# 怎么添加对象
···
.on  事件委托
.bind   
.事件名

#jQuery插件 有哪些?
轮播图、分页、懒加载、模态窗等
#自定义插件
jQuery.extend  //这个可以在jquery对象直接调用
jQuery.fn.extend  //只能在元素选择器选中的实例之上执行

# ajax 请求的封装
···
$.ajaxSetup

# http请求 常见的状态码,post和get区别? 请求报文
···
200:请求成功
301:重定向
400000=》一般是客户端错误
401:未授权
403:无权访问
404:页面找不到
500000=》一般是服务器出错
502:服务器错误
503:服务器错误

### 怎么实现图片上传?
···
input 设置input="file"

### 数组去重,排序
···
数组去重,循环老数组中的每一项插入到新数组中
     let arr = [1, 2, 2, 3, 4, 5];
      let set = new Set(arr);
      let arrset = [...set];
      console.log(arrset);
      
···     
排序:sort
 let arr = [2,1,5,4,3]
  
  console.log(arr.sort(function (a,b) {
    return a-b
  }));

相关文章

  • JS面试经典知识(一)

    前端面试题精选 原生JS 1.ES6的新特性: let(****声明变量) const(****声明常量,常量不能...

  • 原生JS面试题

    写在前面 这是我7月份手动整理的,希望对大家有帮助,强烈安利大家把这两篇也看了,我通过这三篇文章已经拿到offer...

  • 原生面试题

  • 原生JS实现对象数组深拷贝

    原生JS实现对象数组深拷贝已经是一个老生常谈的面试题了,下面我将方法总结出来

  • 原生js面试题(一)

    目录: 怎样添加、移除、复制、创建、查找节点 在JavaScript中什么是伪数组?如何将伪数组转化为标准数组 j...

  • 2019-某上市公司前端面试经历

    在公司上班这几天除了修改bug之外也在逛掘金刷面试题笔试题,恶补javascript原生的基础,想更深刻的理解底层...

  • 数组各种

    两个面试题 实现一个reduce函数,作用和原生的reduce类似下面的例子。 实现一个flatten函数,将一个...

  • iOS面试题收集

    github上不错的一套题 swift面试题 美团 画一个原生和webview混合开发的框架,写出主要的方法 ru...

  • ajax和跨域的一些问题

    简单的总结下ajax和跨域问题。 手写原生ajax算是比较高频的面试题了,目的就是看你是否明白其原理。首先是XML...

  • 深入理解Java虚拟机1:Java内存区域划分

    前言 最近打算以后还是继续走安卓原生开发之路,然后之前看过大厂安卓工程师的面试题,里面有很多 jvm 的题目,所以...

网友评论

      本文标题:原生面试题

      本文链接:https://www.haomeiwen.com/subject/mimuwhtx.html