- 博客(49)
- 资源 (7)
- 收藏
- 关注
原创 面试总结2025
而composition api中的代码是根据逻辑功能来组织的, 我们可以将一个功能所定义的methods,compute,data等 api 会放在一起, 让我们可以更灵活地组合组件逻辑。它是 Composition API 的入口点,在组件被创建之前执行,用于初始化状态、计算属性和方法,并返回在模板中使用的响应式引用。(1)使用Proxy代替Vue 2中的Object.defineProperty,提供了更完善的响应式系统,能够更好地支持非对象的响应式数据。),它可以展开对象并创建一个新的对象。
2025-03-25 01:25:11
908
原创 纯前度(vue)实现对pdf\mp4\png\jpg\jpegxls\doc\txt文件预览,无需要转化
我们知道要想在前端预览文件,可以通过浏览器自带的预览功能,我们只要window.open(ulr) 就可以实现对文件的预览,但是对于一些特殊的文件,目前很多浏览器的预览功能还是不支持的,今天我们就在纯前端来实现对这些文件的预览。对于文本文件txt,我们需要下载下来,然后读取里面的内容。,最好通过innerText插入div回显出来。
2025-02-10 11:51:21
480
原创 js根据二进制流获取文件类型
这段代码会创建一个元素作为文件选择器,然后将所选文件传递给getFileType()函数。该函数返回一个Promise对象,表示文件类型的结果。如果能正常读取文件内容,则根据文件头部信息(前两个字节)判断文件类型;在JavaScript中,可以使用FileReader对象来读取二进制数据并判断其文件类型。js根据二进制流获取文件类型。
2024-01-05 20:49:50
1028
原创 前端如何获取响应头Content-Disposition中的filename,获取文件类型fileType进行不同类型的文件预览
【代码】前端如何获取响应头Content-Disposition中的filename,获取文件类型fileType进行不同类型的文件预览。
2024-01-05 20:31:41
2491
原创 前端禁止别人打开控制台调试自己的代码
为了防止非法的调试和修改,同时限制别人使用python爬虫,盗取自己网站的数据,我们需要在写一段代码来防止非法入侵调试,增加网站的安全性。
2023-09-06 12:13:48
566
翻译 js封装一个函数重置对象数据为基本数据类型
原文链接:https://juejin.cn/post/7160480314089799710。日常开发表单中经常使用的一个重置对象数据 : 列如(
2023-08-24 09:33:08
238
原创 解决在vue文件写过多的import来导入模块
在我们平时开发的过程,难免会使用其他目录下的模块文件,这个时候,我们就会使用ES6的import来帮助我们导入当前文件需要使用的函数和文件,但是在开发每个页面,如果我们都需要写import来一个一个引进所需是不是做了大量无用的重复工作,那我们有么有其他更好的办法来帮助我们一次性导入,不必要在每个页面都手动引用。
2023-04-04 17:19:36
579
原创 类型判断Object.prototype.toString.call--JS高级用法
Object.prototype.toString() 判断数据类型
2022-10-12 17:11:06
166
原创 通用的css设置子元素水平和垂直居中的方法
css设置子元素水平和垂直居中的方法,抛开定位,flex布局以及grid布局水平居中你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。水平居中如果子元素为行内元素,可以在父元素设置:text-align:center;<!DOCTYPE html><html><head> <meta charset="utf-8">
2022-04-27 13:51:18
241
原创 javascript中bind函数理解
bind函数会创建一个新的函数体;bind函数第一个参数是改变this的指向,第二个以及之后的每个参数都是传进去原来的函数参数;bind函数是在Function原型上的;bind 函数可以用来递归遍历数组;
2022-04-18 12:50:57
720
原创 带你全面理解JS模块的标准(AMD、CMD、COMMON.JS 、 UMD、ESM)
在前端的世界演变里,有着几种JS的模块规范,从出现的序言来说就是:①amd②cmd③common.js④ umd⑤ esm现在Vue框架里面都是遵守esm规范,不得不说esm是目前最好最流行的一种js规范了amd - 浏览器中的js模块化解决方案AMD 全称是 Async Module Definition -中文: 异步模块化定 义require.js是AMD模块规范的一个具体实现核心是通过define方法对无序的代码进行有序的模块化定义,通过require方法实现代码的模块化加
2022-04-15 11:19:41
3010
原创 设置文字不能被选中 以下为css样式 数字和文字 css对齐设置
设置文字不能被选中 以下为css样式-webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;数字和文字 css对齐设置像这种数字和文字对齐,一开始的想法是,分标签来搞,想怎么搞都可以,后来咨询同事,学习更多的做法,发现还有可以有以下两种方式1.用ul li标签 , ul设置css属性:开始怀疑这种属性的兼容性,怕有很多问题,后来查询:发现其兼容性
2022-04-13 17:55:24
130
原创 js遍历对象的三种基本用法
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script> var obj = { name:'freddy', age:30, job:"web", } // for in for (co
2021-12-18 20:56:23
359
原创 pc端设备像素比例缩放所带的页面布局问题(解决方案)
随着windows10系统发布,其默认系统默认的比列不是100%了,而是125%或150%,这样就导致了进行写页面时,出现大小不一样的问题pc端web页面开发时,发现windows系统经常推荐用户使用125%、150%比例的缩放窗口,这样导致web页面被进行缩放,除此之外还有人为的按钮缩放。故此,在页面devicePixelRatio(设备像素比例)变化后,通过计算页面body标签zoom修改其大小,来抵消devicePixelRatio带来的变化。解决所用devicePixelRatio.js/**
2021-11-19 19:17:11
1987
原创 仿照jq的模式封装自己的一个路由东西
废话不多说,直接代码/*! * router JavaScript Library v1.1.0 for web * http://39.107.139.174:8084 * author huangjunfu * /aplanmis-project/aplanmis-mall/src/main/resources/static/mall/js/utils * * Date: 2019-07-12 T15:04 * update:2019-12-17 T14:48 * describe
2021-10-21 18:37:31
148
原创 Vue源码中怎么判断一个对象是否为Promise
废话不多说,请直接看源码:function isDef (v){ return v !== undefined && v !== null}function isPromise(val){ return ( isDef(val) && typeof val.then === 'function' && typeof val.catch === 'function' )}
2021-02-04 11:07:32
2153
2
原创 ES5和ES6类定义和继承
ES6代码: class Animal { constructor(name) { this.name = name; } getName(){ return this.name; } } class Dog extends Animal { constructor(name) { super(name) } speak(){ return "huang" } } var dog =
2021-02-04 10:36:27
127
原创 前端如何写出一手高质量的JavaScript代码(一)
作为一名前端开发,大家都知道javascript是一门动态类型的语言 ,所以其具有很大的灵活性,也正是因此,造成了Javascript写的代码具有很多的不确定性,废话不多说,下面我会从 代码的健壮性、可读性、可复用性、可拓展性 来说说,怎么写出一手好的代码。一、健壮性举个粟子,我们经常计算那个数相加,作为结果返回。于是有了:参数方面function add(a,b){ return a + b ;}看起来没什么问题,当我们传入两个数字,比喻 1 和 2,这个函数可以正确地给我们返回两者相加的
2020-10-21 11:45:05
422
原创 闭包的经典应用
经常遇到的一个例子:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style> div{ width: 100px; height: 100px; background: red; margin: 10px 0px; } </style> </hea
2020-08-27 16:00:37
176
原创 javascript call的实际应用
直接上代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style> #divinner{ width: 100px; height: 100px; background: darkgreen; } </style> </head> <bod
2020-08-17 18:54:47
266
原创 javascript this指向
1、作为对象的方法调用 // 作为对象被调用 var obj = { a:1, getName:function(){ console.log(this === obj); console.log(this.a); } } obj.getName(); // true 1浏览器结果2. 作为普通函数调用 window.name = 'globalName'; var getName = function(){ r
2020-08-14 16:31:42
170
原创 javascirpt的原型继承原理
要理解JavaScript到底是怎么实现面向对象、继续以及多态的原理,就要追溯到它本身的语言特点说起,JavaScript和Java等后端语言不同,它没有强制性地要求声明时就要知道某个数据的类型,也就是说,JavaScript是一门灵活多变的动态语言,也正是因为这样的特点,所以才让它具有原型继承的一系列优点,从原型设计模式中,我们可以非常清楚的知道,编程范型这种设计是,有多么的好,实际上基于原型进行继承的语言,也不止有JavaScript一种,在很早之前就有了,比喻:Self 语言和 Smalltalk
2020-08-12 18:29:33
255
原创 js的原型模式(关键是clone)
既然原型模式是通过克隆来创建对象的,那么很自然地会想到,如果需要一个跟某个对象一模一样的对象,就可以使用原型模式。假设我们在编写一个飞机大战的网页游戏。某种飞机拥有分身技能,当它使用分身技能的时候,要在页面中创建一些跟它一模一样的飞机。如果不使用原型模式,那么在创建分身之前,无疑必须先保存该飞机的当前血量、炮弹等级、防御等级等信息,随后将这些信息设置到新创建的飞机上面,这样才能得到一架一模一样的新飞机。如果使用原型模式,我们只需要调用负责克隆的方法,便能完成同样的功能。原型模式的实现关键,是语
2020-08-12 10:03:35
302
原创 使用JavaScript 模拟出 public 和 private 这两种后端语言(Java,PHP)封装性
体验一下 js 封装数据请看代码 var myobj = (function(){ var __name = 'freddy' // 私有(private)变量 return { getName:function(){ // 公开(public)方法 return __name; } } })(); console.log(myobj.getName()); // freddy console.log(myobj.__name); //
2020-08-11 17:53:16
131
原创 多态在面向对象程序设计中的作用 js代码
var makeSound = function(animal){ if(animal instanceof Duck){ console.log('嘎嘎嘎'); }else if(animal instanceof Chicken){ console.log('咯咯咯'); }} var Duck = function(){}var Chicken = function(){}makeSound(new Duck());makeSound(new Chicken())
2020-08-11 15:43:10
230
原创 鸭子类型
看到标题,可能你认为这个文章是说鸭子的,但实际这个是说javascript首页因为JavaScript是个动态类型的语言,所以造成它具有很多的灵活性,所以才回有个,鸭子的比喻鸭子类型的通俗说法是:“如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭子。下面是将上图用一段js代码描述出来,如下: var yanzijiao = { chuning:function(){ console.log("我会鸭子叫"); } } var jifangyazijiao =
2020-08-11 15:24:27
389
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人