前端面试
文章平均质量分 55
小hu同学
hello world!
展开
-
Vue入门基础(四)—— 动态组件&插槽&自定义指令
本篇文章主要讲述的是 动态组件&插槽&自定义指令一、动态组件1、什么是动态组件动态组件指的是动态切换组件的显示与隐藏2、如何实现动态组件渲染Vue提供了一个内置的组件,专门用来实现动态组件的渲染。示例代码如下 data(){ //1、当前要渲染的组件名称 retrn{ comName:'Left'} } <!--2. 通过is属性,动态指定要渲染的组件 --> <component :is='.原创 2021-12-27 18:50:07 · 727 阅读 · 0 评论 -
Vue入门基础(三)
经常会听到说组件化开发,那到底什么是组件呢?怎么组件化开发呢?组件与组件之间是什么关系呢?组件之间的数据共享是怎么共享呢?看下面文章来带你了解Vue组件1.1 什么是组件化开发组件化开发指的是:根据封装的思想,把页面上可重用的 UI 结构封装为组件,从而方便项目的开发和维护。1.2 Vue中的组件化开发vue 是一个支持组件化开发的前端框架。vue 中规定:组件的后缀名是 .vue。之前接触到的 App.vue 文件本质上就是一个 vue 的组件。1.3 Vue组件的组成3部分.原创 2021-12-27 17:51:19 · 1535 阅读 · 0 评论 -
Vue入门基础(二)
本篇文章是接着上一篇文章的,可以先看下 上一篇文章4.Vue常用特性4.1 常用特性概览表单操作自定义指令计算属性过滤器侦听器生命周期4.2 表单操作1. 基于Vue的表单操作input 单行文本textarea 多行文本select 下拉多选radio 单选框checkbox 多选框1、单行文本 绑定数据 <span>姓名:</span> <span> <input type.原创 2021-12-27 17:45:23 · 1468 阅读 · 0 评论 -
高频面试题-“原型对象与原型链”
目录什么是原型?代码实例(__proto__)获取原型的方法:代码实例(prototype)什么是原型?每一个对象都有它的原型对象,他可以使用自己原型对象上的所有属性和方法代码实例(proto)let dog = { name:"旺旺"}//给这个追加一个eat 属性,并且打印出来dog.__proto__.eat = function(){ console.log("啃骨头")}dog.eat();获取原型的方法:1、通过对象的__proto__获取2、通过构造函数的原创 2021-09-08 12:52:38 · 366 阅读 · 0 评论 -
高频面试—“箭头函数和普通函数的区别”
在面试的时候,面试官有时候会问这个样一个问题?面试官:“你说一下,箭头函数和普通函数有什么区别”那现在我们就来讨论一下这个问题?普通函数const fun = function(){ return 100; } console.log(fun())//在控制台打印的结果就是 100箭头函数//多个参数const fun = (x,y) =>{return 100}//一个参数const fun = x => 100//无参数const fun .原创 2021-08-23 12:47:17 · 239 阅读 · 0 评论 -
高频面试—“闭包的基本概念及应用”
什么是闭包闭包:函数嵌套函数。内部函数就是闭包正常情况下,函数执行完成后内部变量会销毁(销毁,释放内存空间)//fn1是外部函数function fn1(){ let a = 10; //fn2是内部函数 function fn2(){ console.log(a); } return fn2; }let fn3 = fn1;fn3()闭包应用在封装上 //立即执行函数let module = (function(){ let a = 1; let b =原创 2021-07-28 16:20:53 · 90 阅读 · 0 评论 -
高频面试—“var、let、const的区别”
目录var和let的区别const(常量不能修改)什么时候使用const?let?var和let的区别代码演示var定义的变量没有块级作用域的概念 if(true){ var a = 10; } console.log(a) //函数内部定义的变量 都是全局变量let定义变量是有块级作用域的if(true){ let a = 10; } console.log(a)现在原创 2021-07-26 19:26:03 · 113 阅读 · 0 评论 -
高频面试题—“原始类型与引用类型”
目录赋值原始类型赋值引用类型赋值比较原始类型的比较引用类型的比较函数传参原始类型传参引用类型传参原始类型与引用类型三种情况下的对比:赋值原始类型赋值//原始类型赋值 let str1 = "小hu";//给str1 赋值一个变量 小hu let str2 = str1;//将str1 又赋值给str2 小hu str1 = "同学"; // 同学赋值给了 str1//打印 console.log(str1);//同学原创 2021-07-19 19:42:02 · 90 阅读 · 3 评论 -
高频面试题—“什么是防抖节流?”
什么是防抖?防抖:用户触发时间过于频繁,只要最后一次事件的操作案例:我在输入框中输入了 123 但是控制台打印出来的 是 1 12 123测试代码<body> <input type="text"> <script> <!--获取input标签 --> let ip = document.querySelector("input") <!--onin原创 2021-07-17 18:54:58 · 303 阅读 · 0 评论 -
高级JavaScript第(三)篇
本篇文章为高级JavaScript第(三)篇,主要讲了函数的定义和调用、this的指向问题、严格模式、高级函数、闭包、递归原创 2021-04-24 12:16:11 · 422 阅读 · 0 评论 -
高级JavaScript第(二)篇
高级JavaScript第(二)此篇文章主要说了构造函数和原型还有原型链相关的方面以及一些ES5的知识要点原创 2021-04-17 12:13:31 · 319 阅读 · 0 评论 -
高级JavaScript第(一)篇
此篇文章主要详细说了一下什么是面向对象、类的创建、基础、属性、方法原创 2021-04-12 23:05:16 · 594 阅读 · 2 评论 -
什么是回调地狱?如何解决回调地狱
什么是回调地狱?该如何解决回调地狱?原创 2021-03-20 21:26:06 · 2757 阅读 · 2 评论 -
TCP与UDP的区别
(1)TCP是面向连接的,udp是无连接的即发送数据前不需要先建立链接。(2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。 并且因为tcp可靠,面向连接,不会丢失数据因此适合大数据量的交换。(3)TCP是面向字节流,UDP面向报文,并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。(4)TCP只能是1对1的,UDP支持1对1,1对多。(5)TCP的首部较大为20字节,原创 2021-02-17 15:17:32 · 93 阅读 · 0 评论 -
深浅拷贝的区别
一、浅拷贝浅拷贝只能拷贝一层,更深层次对象级别拷贝的只拷贝引用路径,将原来的变量做修改后,浅拷贝的值也会随着改变 var obj = { id:1, name:'andy', msg:{ age:18 } } var o = {}; // for(var k in obj){ // // k是属性名 ob原创 2021-02-17 11:52:32 · 251 阅读 · 0 评论 -
JavaScript——每隔1秒依次输出(1-10)
我做过一个笔试题是说使得程序每隔⼀秒依次输出 1~10<script> for(var i=1; i<=10; i++;){ //封装一个函数 执行异步操作 (function(i){ setTimeout(function(){ conslon.log(i)},1000*i)})(i) }</script>原创 2021-02-08 22:24:44 · 2274 阅读 · 2 评论 -
ES5中新增的方法之——数组方法
ES5中新增的数组方法迭代(遍历)方法:forEach()、map()、filter()、some()、every();一、forEach()方法array.forEach(function(currentValue,index,arr)) currentValue:数组当前项的值index:数组当前的索引arr:数组对象本身 <script> // forEach 迭代(遍历)数组 var arr = [1,2,3] var原创 2021-02-08 21:47:32 · 119 阅读 · 0 评论 -
Vue的计算属性与watch
一、Vue的计算属性是什么?它的计算属性是 computed二、计算属性computed的特点有哪些?computed是计算属性、实时响应的。计算属性会依赖于它所使用的data中的属性,只要是依赖的属性值有改变,则自动重新调用一下计算属性;如果它所依赖的这些属性值没有发生改变,那么计算属性的值是从缓存中来的,而不是重新编译,那么它的性能就会比较高,所以Vue中尽可能的使用computed来代替watch。<!DOCTYPE html><html> <hea原创 2021-01-30 22:10:36 · 1183 阅读 · 0 评论 -
前端面试之——ES6的新特性
原文链接:https://blog.csdn.net/chenacxz/article/details/110354507前端面试之——ES6的新特性模板字符串传统字符串用法const str = 'hello world this is a string'模板字符串const str = `hello world this is a \`string\``console.log(str)//hello world this is a `string`const str = `hello转载 2021-01-29 21:48:29 · 450 阅读 · 0 评论 -
深拷贝与浅拷贝
一、深拷贝1、什么是深拷贝?深拷贝主要是将另一个对象的属性值拷贝过来之后,另一个对象的属性值并不受到影响,因为此时它自己在堆中开辟了自己的内存区域,不受外界干扰。2、深拷贝的方法(1)JSON转换var targetObj = JSON.parse(JSON.stringify(copyObj))let arr4 = JSON.parse(JSON.stringify(arr))缺点是:1、如果对象里有函数,函数无法被拷贝下来2、无法拷贝copyObj对象原型链上的属性和方法3、当数据原创 2021-01-26 20:35:29 · 148 阅读 · 0 评论 -
时间格式化输出
将时间戳格式化为日期时间输入代码为formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w')输出为2014-09-05 13:14:20 星期五下面是函数封装的代码对于 2014.09.05 13:14:20yyyy: 年份,2014yy: 年份,14MM: 月份,补满两位,09M: 月份, 9dd: 日期,补满两位,05d: 日期, 5HH: 24制小时,补满两位,13H: 24制小时,13hh: 12制小原创 2021-01-24 20:08:15 · 1015 阅读 · 0 评论 -
用JavaScript 实现斐波那契数列函数
用JavaScript 实现斐波那契数列函数,返回第n个斐波那契数例如:f(1)=1,f(2)=1等1、使用for循环的方法: function fibonacci(n) { //将num1变量赋值为1 var num1 = 1; //将num2变量赋值同样赋值1 var num2 = 1; //使用for循环 i=2 i<n的也就是函数值n for(var i=2;i<n;i++){ //将num2的旧值加上num1后重新赋值给num2 num2=num2+num1原创 2021-01-23 14:38:26 · 2301 阅读 · 0 评论 -
关于修改This指向的问题
修改this指向一般会用到的是call(),apply(),bind()刚刚看到这样一个题目就拿过来讨论一下:封装一个函数 abc,使这个abc指向指定的对象function bindThis(abc, oTarget) { }call()方法首先我们先使用call()来改变this指向function bindThis(abc, oTarget) { return function(x,y){ return abc.call(oTarget,x,y)} }原创 2021-01-22 09:19:47 · 95 阅读 · 0 评论 -
前端开发面试(一)
导读:今天面试字节跳动结果不是很理想,深刻的体会了自己的知识体系的不足,以及准备不充分,所以做一个总结,也是为以后面面试提供一些经验吧。原创 2021-01-21 12:48:42 · 761 阅读 · 0 评论