前端基础 一

 

js语言确实太灵活,出现的问题可能完全无法解释,弱类型语言也是另一种风骚.

下面就整理一下一些记录

原型链:
在JavaScript中,原型也是一个对象,通过原型可以实现对象的属性继承,
JavaScript的对象中都包含了一个”[[Prototype]]”内部属性,这个属性所对应的就是该对象的原型。

slice  :中文意思 片, 一部分
切割数组,返回一个子数组    
 
splice: 中文意思  剪接    
改变原有数组的, splice(star ,end)  从star 到end ,把数组的值删除
split :划分
用法1 . split(‘’)把字符串变成数组
用法2。 Split(‘something’)  以字符串里面的something为分割,从新生成数组

闭包 :
调用函数内部变量,而且函数调用之后不会被销毁,风险是函数里面的方法不会被销毁,对性能有一定的影响


面对对象:封装 ,继承 ,多态


1、原生JS; 
3、抓包工具:fiddler;
4、ES6;
5、移动端项目开发经验;
6、代码管理工具:git1、 

2.  负责功能模块的代码编写、单元测试
1、问项目经验,负责哪个模块;
2、简历上的技术点;
3、浏览器跨域问题,目前做的项目会涉及到挺多跨域请求的;
4、原生JS;
5、vue在项目中是怎么用的,当初为什么要学习vue,与其他框架有什么区别
;6、抓包工具;
7、ES6:有些浏览器不能兼容ES6,怎么处理兼容性问题;babel转码
10、用什么工具管理代码;
11、最近学习了什么新技术或在关注哪些前沿技术。


xhmtl 和 html有什么区别
html是基本的web网页设计语言
xhtml是一个基于xml的置标语言
不同点
xhtml要被正确嵌套
xhtml要用小写

1.margin: 0 auto  //水平居中
position:relative
top:50  // 明显偏下
transform:translateY('-50%') // 基于自身往上偏移一一半

2.
在父级元素写的属性--- 子元素会居中
display:flex
aligin-items:center     //垂直居中 aligin垂直
justify-content:center  //水平居中

=================js 改变 string  和改变object之间有什么区别  

==============js 的继承实现 

主要用两个实现 
1.原型链继承
2.实例继承

一个用于继承的父函数
function  fater(name){
 this.name = name || 'fatyer'
 this.gohome = function({
   console.log(this.name+'gohome')
  })
}

1.原型链继承方法  缺点无法向父级传参数    
fater.prototype.gowork = function(){
 console.log(this.name+'gowork')    
}


2.实例继承
function  child(name){
 var instance = new Fater()
  instance.name = name 
  return instance
 
}

var car = new Cat()
cat.name = name 
cat.gohome()

==========原生控件  有没有写过 

==========具体说说跟原生app交互的方法  

==========字符串 15889853286 去重8
1.'15889853286'.split('8').join('')
2.for循环
for(var i =0 ;i<len;i++){
 var new='' 
 if(val[i] !=='8'){
  new+ = var[i]
 }
 return newstring 
}
3.完全去重
for(var i =0 ; i<len ;i++){
 var  newarr =[]
 if(newarr [i].indexOf(new)<0){
 (arr.splice(0,i)
  newarr.push(arr[i])
 })
 return  newarr

==========数组去重复

===========http 302  304  101 表示什么
302重定向  服务器要求再发送一个请求, 服务器返回一个location指向新请求的url地址
304缓存页面 ,通过对比修改时间 发送304响应 , 如果时间相同就显示浏览器自己的缓存页面,如果修改就返回200


==========================Session cookie的区别  session关闭了浏览器就不会有了 
1.session 存在服务器  cookie存在客户浏览器 
2.session能存比较大  cookie 比较小只能存4K最多保存20个cookie
3.安全信息存在session  cookie可以模拟不是很安全

====================
XML sql注入
  input 怎么预防  script 标签转化成其他的输入符

1.把script之类的标签要替换掉
2.一些类似 尖角的标签替换掉< >   或者用其他转码什么的 

===============
Objective .propty.tostring.call(a)判断类型
判断类型有多少种方法
1.typeOf [] = object   typeOf object = object  typeOf null = object  
2.instanceOf() 判断他一个原型链上面的属性 是不是继承
3.Object.propty.toString.call()

============
vue next()的用法 跳登录页面
 beforeRouteLeave (to, from, next) {
        console.log('离开路路由')
       if(to.fullPath==='/home'){
         next();
       }else{
         next('/home')
       }
=============函数怎么设置默认值
function(a=1,b=2,c=3)

==============组件异步
,,,
路由组件异步

要用的时候才装入需要的组件,有效提高首次装入页面的速度,路由切换的时候也可以用到


const Singer = (resolve) => {
  import('components/singer/singer').then((module) => {
    resolve(module)
  })
}

===================vue  v-model 在组件中怎么使用

=======================vue  $.on的用法

==============vue  
Watch. 和computed的用法有什么不同
Computed 对数据有依赖关系,优先读取缓存
computed  对数据有依赖关系
watch没有依赖关系 数据变化是异步的操作

==========
Let
, Const. 有没有变量提前声明
 
let 定义一个变量  是块级作用域 已经是当前作用域的全局了 
const 定义一个常量  也是块级作用域  

==========... 的用法
es6 扩展运算符 
es6 扩展运算符  是一个扩展应用符
1输出单个数字....[1,2,3] 输出 1 2 3
2.在函数中使用  
var arr1 = [x,y,z]
function(...arr1)  等同于 function(x,y,z)
3.可以拼接数组
var arr1 = [x,y,z]
var arr2 = [1,2]
[arrr,...arr2] 
4.取数组的最大值
var arr1 = [1,2,3,4]
Math.max(..arr1)   // 输出4
======== 组件使用 ref 指向的是一个实例   只当前标签使用ref的是dom


=======================
this.$nextTick( 的用法
文档刷新的时候执行, 一般放在vue声明周期的mounted里面,确保文档DOM已经被渲染

深复制和浅复制的区别


=======================深复制 浅复制
浅复制数据不能被shopcart的数据监听,属于引用状态   深复制是什么引用状态


==================vue extend 用法
使用基础 Vue 构造器,创建一个“子类”   创建一个子组件 
和 vue  comment 有什么不同  compunt是注册全局组件. Vue component 将extend扩展实例注册一个组件
=======================New promise深入讲 
 1.new promise 的主要好处是可以链式操作,把执行的代码和错误显示分离
 2. 在多个任务下,需要完成1任务之后,再完成2任务,方便很多 。
3.new promise .all([p1,p2]) ,  当p1 p2 都执行完了之后 才执行这个函数
4. new promise.race([p1,p2]) 用法  , 当p1 p2 任意一个提前完成都执行这个函数 , 多个异步任务是为了容错
==============================
keep alive
在vue 里面  为了使返回的页面不从新加载, 就有keep alive.  缓存页面 不重新加载
vue2.0提供了一个keep-alive组件
用来缓存组件,避免多次加载相同的组件,
减少性能消耗 <keep-alive><router-view></router-view></keep-alive>
=================================
为什么只能用mutation改变vuex状态
vuex 是一个多个任务的管理器,  单一可控制的状态管理,有利于追踪这个状态的改变 ,代码更清楚更好管理

======================如何理解Vue组件中所说的is特性 

==================
template的用法
 

========================怎么解决
Ui框架渲染卡顿问题
1.margin: 0 auto  //水平居中
position:relative
top:50  // 明显偏下
transform:translateY('-50%') // 基于自身往上偏移一一半

2.
在父级元素写的属性--- 子元素会居中
display:flex
aligin-items:center     //垂直居中 aligin垂直
justify-content:center  //水平居中

=================js 改变 string  和改变object之间有什么区别  

==============js 的继承实现 

主要用两个实现 
1.原型链继承
2.实例继承

一个用于继承的父函数
function  fater(name){
 this.name = name || 'fatyer'
 this.gohome = function({
   console.log(this.name+'gohome')
  })
}

1.原型链继承方法  缺点无法向父级传参数    
fater.prototype.gowork = function(){
 console.log(this.name+'gowork')    
}


2.实例继承
function  child(name){
 var instance = new Fater()
  instance.name = name 
  return instance
 
}

var car = new Cat()
cat.name = name 
cat.gohome()

==========原生控件  有没有写过 

==========具体说说跟原生app交互的方法  

==========字符串 15889853286 去重8
1.'15889853286'.split('8').join('')
2.for循环
for(var i =0 ;i<len;i++){
 var new='' 
 if(val[i] !=='8'){
  new+ = var[i]
 }
 return newstring 
}
3.完全去重
for(var i =0 ; i<len ;i++){
 var  newarr =[]
 if(newarr [i].indexOf(new)<0){
 (arr.splice(0,i)
  newarr.push(arr[i])
 })
 return  newarr

==========数组去重复

===========http 302  304  101 表示什么
302重定向  服务器要求再发送一个请求, 服务器返回一个location指向新请求的url地址
304缓存页面 ,通过对比修改时间 发送304响应 , 如果时间相同就显示浏览器自己的缓存页面,如果修改就返回200


==========================Session cookie的区别  session关闭了浏览器就不会有了 
1.session 存在服务器  cookie存在客户浏览器 
2.session能存比较大  cookie 比较小只能存4K最多保存20个cookie
3.安全信息存在session  cookie可以模拟不是很安全

====================
XML sql注入
  input 怎么预防  script 标签转化成其他的输入符

1.把script之类的标签要替换掉
2.一些类似 尖角的标签替换掉< >   或者用其他转码什么的 

===============
Objective .propty.tostring.call(a)判断类型
判断类型有多少种方法
1.typeOf [] = object   typeOf object = object  typeOf null = object  
2.instanceOf() 判断他一个原型链上面的属性 是不是继承
3.Object.propty.toString.call()

============
vue next()的用法 跳登录页面

=============函数怎么设置默认值

结尾: 由于整理得不是很好 而且是由自己的话语组织语言.所以不确保完全正确仅供参考.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值