08 2020 档案

摘要: 阅读全文
posted @ 2020-08-17 22:03 大牛半路出家 阅读(290) 评论(1) 推荐(0)
摘要:vue打包静态资源路径不正确的解决办法 vue项目完成打包上线的时候很多人都会碰到静态资源找不到的问题,常见的有两个 1、js,css路径不对 解决办法:打开config/index.js,将其中的assetsPublicPath值改为’./’ 2、css中引用的图片资源找不到 我的login.vu 阅读全文
posted @ 2020-08-17 21:59 大牛半路出家 阅读(5439) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-17 21:56 大牛半路出家 阅读(398) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-17 21:55 大牛半路出家 阅读(506) 评论(0) 推荐(0)
摘要:Vue包含一组观察数组的变异方法,所以它们也将会触发视图更新。这些方法如下: push() pop() shift() unshift() splice() sort() reverse() 替换数组: 例如:filter(), concat()和 slice() 。这些不会改变原始数组,但总是返回 阅读全文
posted @ 2020-08-17 21:53 大牛半路出家 阅读(1144) 评论(0) 推荐(0)
摘要:https://www.jianshu.com/p/79d02fc22f8b 阅读全文
posted @ 2020-08-17 21:52 大牛半路出家 阅读(288) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-17 21:43 大牛半路出家 阅读(827) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/weixin_44135121/category_9384698.html 阅读全文
posted @ 2020-08-17 21:42 大牛半路出家 阅读(682) 评论(0) 推荐(0)
摘要:http://www.10qianwan.com/articledetail/577118.html 阅读全文
posted @ 2020-08-17 21:29 大牛半路出家 阅读(319) 评论(0) 推荐(0)
摘要:https://www.jb51.net/article/159855.htm 除了使用 Vuex 方法外,vue 提供了各种各样的组件间通信的方案。文章整理一下父子组件、兄弟组件、祖先后代组件间是如何通信的。 💬 🌊 父子组件通信 props 和 $emit 父子组件通信 子组件有时需要与父组 阅读全文
posted @ 2020-08-17 21:26 大牛半路出家 阅读(2587) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/tangxiujiang/article/details/79620542 阅读全文
posted @ 2020-08-17 21:05 大牛半路出家 阅读(1140) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/changbozizf/article/details/105456089?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25 阅读全文
posted @ 2020-08-17 21:03 大牛半路出家 阅读(382) 评论(0) 推荐(0)
摘要:详解Vue的slot新用法 https://www.cnblogs.com/fundebug/p/vue-slot.html 摘要: 理解Vue插槽。 作者:前端小智 原文:vue 2.6 中 slot 的新用法 Fundebug经授权转载,版权归原作者所有。 为了保证的可读性,本文采用意译而非直译 阅读全文
posted @ 2020-08-17 20:58 大牛半路出家 阅读(840) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-17 20:56 大牛半路出家 阅读(1807) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-17 20:52 大牛半路出家 阅读(836) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-17 20:51 大牛半路出家 阅读(855) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/qq_39624107/article/details/91452098 为什么封装组件要使用双向绑定? 双向绑定把数据变更的操作隐藏在组件内部,调用者并不会直接感知,业务层无需关心内部实现逻辑,简化大量与业务无关的代码。 组件双向绑定应有以下2个特点: 阅读全文
posted @ 2020-08-17 20:47 大牛半路出家 阅读(1652) 评论(0) 推荐(0)
摘要:MVX框架模式:MVC+MVP+MVVM 1.MVC:Model(模型)+View(视图)+controller(控制器),主要是基于分层的目的,让彼此的职责分开。 View通过Controller来和Model联系,Controller是View和Model的协调者,View和Model不直接联系 阅读全文
posted @ 2020-08-17 20:44 大牛半路出家 阅读(1498) 评论(0) 推荐(0)
摘要:vue-cli打包项目后路径错误问题 一、问题描述 执行 npm run build 命令后,打包生成dist文件夹,访问的时候报如下错误: 二、解决办法 在根目录下,新建 vue.config.js文件,内容如下, module.exports = { publicPath:'./', confi 阅读全文
posted @ 2020-08-17 20:43 大牛半路出家 阅读(1004) 评论(0) 推荐(0)
摘要:vue 组件引入及使用的几种方式 在vue的项目开发过程中,基本都是基于组件化开发项目,总结下使用组件的几个点: 一、@符号的使用 在vue项目中 @ 符号代表的是根目录,即 src 目录。 二、组件的放置位置 在项目中,公用的组件放置在 components 目录下,项目组件新建 views 目录 阅读全文
posted @ 2020-08-17 20:40 大牛半路出家 阅读(667) 评论(0) 推荐(0)
摘要:Jquery和vue对比 https://www.cnblogs.com/lgx5/p/10857516.html 前言:很多人说jquey和vue没有什么可比的,应该和Angular,React来比吧,我到觉得他们倒没有多大的可比性,都是基于mvvm思想设计的框架,无非就是实现的方式不一样,在不同 阅读全文
posted @ 2020-08-17 20:39 大牛半路出家 阅读(775) 评论(0) 推荐(0)
摘要:vue.js的两大核心 vue.js的两大核心:1. 数据驱动 2.组件系统 1. 数据驱动,也就是数据的双向绑定 Vue 响应式核心就是,getter 的时候会收集依赖,setter 的时候会触发依赖更新 vue将遍历data中对象的所有property,并使用 Object.defineProp 阅读全文
posted @ 2020-08-17 20:37 大牛半路出家 阅读(1723) 评论(0) 推荐(0)
摘要:https://www.html.cn/qa/vue-js/19257.html 最好找视频看 https://blog.csdn.net/Liuqz2009/article/details/103863870 阅读全文
posted @ 2020-08-17 20:36 大牛半路出家 阅读(242) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/qq_37041819/article/details/105644405 这里我定义了一个列表数据,我将通过按钮来控制列表数据。 比如我们修改一个数组其中的一个值,或者添加一条数据时,不管用。 <template> <div id="app" style 阅读全文
posted @ 2020-08-17 20:28 大牛半路出家 阅读(1222) 评论(0) 推荐(0)
摘要:vue中数组变动更新检测 https://www.cnblogs.com/lyx183/p/10087233.html Vue 包含两种观察数组的方法分别如下 1.变异方法 顾名思义,变异方法会改变被这些方法调用的原始数组,它们也将会触发视图更新,这些方法如下 push() pop() shift( 阅读全文
posted @ 2020-08-13 22:41 大牛半路出家 阅读(587) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/gitByLegend/p/10835064.html 修饰符 .lazy 在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 。你可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步: <!-- 阅读全文
posted @ 2020-08-13 22:39 大牛半路出家 阅读(844) 评论(0) 推荐(0)
摘要:static和assets的区别 assets和static两个都是用于存放静态资源文件。 放在static中的文件不会进行构建编译处理,也就不会压缩体积,在打包时效率会更高,但体积更大在服务器中就会占据更大的空间 放在assets中的文件会进行压缩体积、代码格式化,压缩后会放置在static中一同 阅读全文
posted @ 2020-08-13 22:38 大牛半路出家 阅读(537) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/gitByLegend/p/10837777.html 永远不要把 v-if 和 v-for 同时用在同一个元素上。 一般我们在两种常见的情况下会倾向于这样做: 为了过滤一个列表中的项目 (比如 v-for="user in users" v-if=" 阅读全文
posted @ 2020-08-13 22:37 大牛半路出家 阅读(380) 评论(0) 推荐(0)
摘要:vue 过滤器filter的详解 https://www.cnblogs.com/panax/p/10824594.html 1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id=" 阅读全文
posted @ 2020-08-13 22:35 大牛半路出家 阅读(499) 评论(0) 推荐(0)
摘要:单页面与多页面间的区别及优缺点 今天接到一个电话面试,小哥哥问单页面和多页面的优缺点,傻傻的我事后才反应过来不仅没回答好还把单页面和多页面的概念搞反了,查了一些资料在此做一些总结: 单页面应用(SPA),通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。 阅读全文
posted @ 2020-08-13 22:33 大牛半路出家 阅读(2400) 评论(0) 推荐(1)
摘要:vue中如何实现数据的双向绑定 vue中如何实现数据的双向绑定 vue中的指令 v-cloak: v-model(表单元素设置了之后会忽略掉value,checked,selected) v-text:代替 {{}} 渲染成文本(不会识别html标签)可以防止网速卡慢时{{}}出现在页面上 v-ht 阅读全文
posted @ 2020-08-13 21:53 大牛半路出家 阅读(543) 评论(0) 推荐(0)
摘要:对“渐进式”这三个字的理解:Vue渐进式-先使用Vue的核心库,再根据你的需要的功能再去逐渐增加加相应的插件。 以下理解出处:https://www.zhihu.com/question/51907207 在我看来,渐进式代表的含义是:主张最少。 每个框架都不可避免的会有自己的一些特点,从而会对使用 阅读全文
posted @ 2020-08-13 21:52 大牛半路出家 阅读(1376) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/fundebug/p/10884896.html 阅读全文
posted @ 2020-08-13 21:51 大牛半路出家 阅读(295) 评论(0) 推荐(0)
摘要:一、event 对象 (一)事件的 event 对象 你说你是搞前端的,那么你肯定就知道事件,知道事件,你就肯定知道 event 对象吧?各种的库、框架多少都有针对 event 对象的处理。比如 jquery,通过它内部进行一定的封装,我们开发的时候,就无需关注 event 对象的部分兼容性问题。最 阅读全文
posted @ 2020-08-13 21:49 大牛半路出家 阅读(925) 评论(0) 推荐(0)
摘要:https://www.jb51.net/article/188491.htm 前言 我们需要先复习下原型链的知识,其实这个问题取决于 js ,而并非是 vue 。 1 2 3 4 5 6 7 function Component(){ this.data = this.data } Compone 阅读全文
posted @ 2020-08-13 21:46 大牛半路出家 阅读(572) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/jin-zhe/p/9985436.html this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定 阅读全文
posted @ 2020-08-13 21:43 大牛半路出家 阅读(308) 评论(0) 推荐(0)
摘要:v-on可以监听多个方法吗? https://www.cnblogs.com/gitByLegend/p/10835516.html 原文地址 v-on可以监听多个方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 阅读全文
posted @ 2020-08-13 21:41 大牛半路出家 阅读(685) 评论(0) 推荐(0)
摘要:vue中computed和watch的区别,以及适用场景 computed:通过属性计算而得来的属性 1、computed内部的函数在调用时不加()。 2、computed是依赖vm中data的属性变化而变化的,也就是说,当data中的属性发生改变的时候,当前函数才会执行,data中的属性没有改变的 阅读全文
posted @ 2020-08-13 21:39 大牛半路出家 阅读(1896) 评论(0) 推荐(0)
摘要:assets文件夹是放静态资源;components是放组件;router是定义路由相关的配置;view视图;app.vue是一个应用主组件;main.js是入口文件 阅读全文
posted @ 2020-08-13 21:36 大牛半路出家 阅读(1394) 评论(0) 推荐(0)
摘要:https://www.jb51.net/article/142677.htm vue中v-model的应用及使用详解 更新时间:2018年06月27日 08:59:15 转载 作者:王子城 v-model用于表单数据的双向绑定,其实它就是一个语法糖。这篇文章主要介绍了vue中v-model的应用, 阅读全文
posted @ 2020-08-13 21:34 大牛半路出家 阅读(487) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/l-y-h/p/11815452.html axios解决跨域问题(vue-cli3.0) 阅读目录 一、什么是跨域 1、跨域 2、同源策略 3、跨域问题怎么出现的 二、使用 axios 演示并解决跨域问题(vue-cli3.0) 1、项目创建、与 a 阅读全文
posted @ 2020-08-13 21:31 大牛半路出家 阅读(727) 评论(0) 推荐(0)
摘要:axios的基本概念及安装配置方法 ajax:异步请求,是一种无需再重新加载整个网页的情况下,能够更新部分网页的技术 axios:用于浏览器和node.js的基于promise的HTTP客户端 1.从浏览器制作XMLHttpRequests 2.让HTTP从node.js的请求 3.支持promis 阅读全文
posted @ 2020-08-13 21:04 大牛半路出家 阅读(366) 评论(0) 推荐(0)
摘要:v-for 为什么必须使用key https://www.cnblogs.com/lorin/articles/12395904.html vue 之前的版本没有限制 v-for 中配置 key 现在需要配置不然会报错 为什么 必须使用key 因为vue组件高度复用,增加Key可以标识组件的唯一性, 阅读全文
posted @ 2020-08-13 21:02 大牛半路出家 阅读(452) 评论(0) 推荐(0)
摘要:一、vue文件 vue文件是一个自定义的文件类型,用类HTML语法描述一个vue组件,每个.vue组件包含三种类型的顶级语言快< template>< script>< style>,还允许添加自定义的模块; <template> <div class="example">{{ msg }}</di 阅读全文
posted @ 2020-08-13 20:59 大牛半路出家 阅读(3562) 评论(0) 推荐(0)
摘要:1、v-if:判断是否隐藏 2、v-for:数据循环 3、v-bind:class:绑定一个属性 4、v-model:实现数据双向绑定 这里重点说明一个v-if和v-show的区别: 共同点:都是通过判断绑定数据的true/false来展示的 不同点:v-if只有在判断为true的时候才会对数据进行 阅读全文
posted @ 2020-08-13 20:56 大牛半路出家 阅读(1388) 评论(0) 推荐(0)
摘要:vue如何获取并操作DOM元素 总结: 方法一: 直接给相应的元素加id,然后再document.getElementById("id");获取,然后设置相应属性或样式; 方法二: 使用ref,给相应的元素加ref=“name” 然后再this.$refs.name获取到该元素,并且可以直接调用子组 阅读全文
posted @ 2020-08-13 20:49 大牛半路出家 阅读(1540) 评论(0) 推荐(0)
摘要:<keep-alive></keep-alive>的作用是什么? <keep-alive></keep-alive> 包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染。 大白话: 比如有一个列表和一个详情,那么用户就会经常执行打开详情=>返回列表=>打开详情…这样的话列表和 阅读全文
posted @ 2020-08-13 20:44 大牛半路出家 阅读(904) 评论(0) 推荐(1)
摘要:如何让css样式只在当前组件起作用? 当前组件<style>写成<style scoped> 阅读全文
posted @ 2020-08-13 20:43 大牛半路出家 阅读(1896) 评论(0) 推荐(0)
摘要:vue中v-show和v-if的异同 一、官方解释: v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。 相比之下,v-show 就简单 阅读全文
posted @ 2020-08-13 20:40 大牛半路出家 阅读(926) 评论(0) 推荐(0)
摘要:vue父组件传值给子组件 一、父传子 方式一 父传子主要通过在父组件v-model绑定数据,在子组件进行用props进行数据的接收 父组件 <template> <div id="container"> <Child :msg="data"></Child> </div> </template> < 阅读全文
posted @ 2020-08-13 20:38 大牛半路出家 阅读(518) 评论(0) 推荐(0)
摘要:vue-router实现路由懒加载 当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载. 阅读全文
posted @ 2020-08-12 22:59 大牛半路出家 阅读(3825) 评论(0) 推荐(0)
摘要:vue-router的两种模式的区别 众所周知,vue-router有两种模式,hash模式和history模式,这里来谈谈两者的区别。 hash模式 hash模式背后的原理是onhashchange事件,可以在window对象上监听这个事件: 上面的代码可以通过改变hash来改变页面字体颜色,虽然 阅读全文
posted @ 2020-08-12 22:55 大牛半路出家 阅读(516) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/crazywoniu/article/details/80942642 阅读全文
posted @ 2020-08-12 22:54 大牛半路出家 阅读(294) 评论(0) 推荐(0)
摘要:1 this.$router和this.$route的区别 vue router this.$router是VueRouter的实例方法,当导航到不同url,可以使用this.$router.push方法,这个方法则会向history里面添加一条记录,当点击浏览器回退按钮或者this.$router 阅读全文
posted @ 2020-08-12 22:50 大牛半路出家 阅读(760) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/kzxiaotan/p/11676872.html看链接清楚些 问题一:vue-router有哪几种导航钩子( 导航守卫 )? 1、全局守卫: router.beforeEach 2、全局解析守卫: router.beforeResolve 3、全局后 阅读全文
posted @ 2020-08-12 22:42 大牛半路出家 阅读(1214) 评论(0) 推荐(0)
摘要:在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id 例如 : this.$route.params.id 详解:https://blog.csdn.net/weixin_41399785/article/details/7938135 阅读全文
posted @ 2020-08-12 22:38 大牛半路出家 阅读(4226) 评论(0) 推荐(0)
摘要:active-class属于Vue哪一个modules,有什么作用 active-class 属于vue-router的样式方法 当routerlink标签被点击时将会应用这个样式 使用有两种方法 routerLink标签内使用 <router-link to='/' active-class="a 阅读全文
posted @ 2020-08-12 22:34 大牛半路出家 阅读(1358) 评论(0) 推荐(0)
摘要:Vue中的组件及路由使用 1.组件是什么 组件系统是 Vue 的一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。通常一个应用会以一棵嵌套的组件树的形式来组织; 1.1组件的声明及使用 全局组件 <body> <div id="app"> <!-- 用全局组件的名 阅读全文
posted @ 2020-08-12 22:33 大牛半路出家 阅读(733) 评论(0) 推荐(0)
摘要:<router-link :to='' class='active-class'> //路由声明式跳转 ,active-class是标签被点击时的样式 <router-view> //渲染路由的容器 <keep-alive> //缓存组件 阅读全文
posted @ 2020-08-12 22:31 大牛半路出家 阅读(1710) 评论(0) 推荐(1)
摘要:前端页面中使用MVVM的思想,即MVVM是整个视图层view的概念,属于视图层的概念。 MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。 模型指的是后端传递的数据。 视图指的是所看到的页面。 视图模型是mvvm模式的核心,它是连接view和model的桥梁。 它有两 阅读全文
posted @ 2020-08-12 22:25 大牛半路出家 阅读(2630) 评论(0) 推荐(0)
摘要:什么是vue的生命周期 https://blog.csdn.net/xqainyo/article/details/105238338?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~ 阅读全文
posted @ 2020-08-12 22:22 大牛半路出家 阅读(262) 评论(0) 推荐(0)
摘要:Vue生命周期四个阶段 https://www.cnblogs.com/qinglaoshi/p/13276296.html 什么是生命周期: 从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期! 生命周期钩子:就是生命周期事件的别名而已; 生命周期钩子 = 生命 阅读全文
posted @ 2020-08-12 22:17 大牛半路出家 阅读(285) 评论(0) 推荐(0)
摘要:https://www.w3school.com.cn/js/js_array_methods.asp JavaScript 数组的力量隐藏在数组方法中。 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值(逗号分隔)的字符串。 实例 var fruits = 阅读全文
posted @ 2020-08-12 22:00 大牛半路出家 阅读(239) 评论(0) 推荐(0)
摘要://ES6交换两个变量的值let a=5;let b=3;[a,b]=[b,a] 阅读全文
posted @ 2020-08-12 21:57 大牛半路出家 阅读(2112) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/weixin_45561258/article/details/107243689 一、forEach()循环数组 //ES5 var arr = [1,2,3,4,5]; for(var i=0;i<arr.length;i++){ console.lo 阅读全文
posted @ 2020-08-12 21:56 大牛半路出家 阅读(479) 评论(0) 推荐(0)
摘要:1、JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。如果不存在返回-1,如果存在返回字符串的位置。ES6 又提供了三种新方法。 includes():返回布尔值,表示是否找到了参数字符串。 startsWith():返回布尔值,表示参数字符串是否在原字符 阅读全文
posted @ 2020-08-12 21:54 大牛半路出家 阅读(251) 评论(0) 推荐(0)
摘要:展开运算符是ES6的特性,使用场景有以下: 一、函数调用中使用展开运算符 也就是三个点... function test(a, b, c){} let args = [0, 1, 2]; test(...args); 我们使用...展开运算符就把0,1,2分别传给了test()的参数a,b,c。 二 阅读全文
posted @ 2020-08-12 21:51 大牛半路出家 阅读(478) 评论(0) 推荐(0)
摘要:学习set set是ES6中的新增的数据结构,是一种构造函数,类似于数组,但是里面的元素都是唯一的,不重复的。 例如: const set = new Set(); [1,2,3,4,5,2,1,2,1,2].forEach( x => set.add(x) ); for(let i of set) 阅读全文
posted @ 2020-08-12 21:44 大牛半路出家 阅读(391) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/xiaohuochai/p/7243166.html ES6解构赋值 前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。在ES6中添加了可以简化这种任务的新特性:解构。解构是一种打破数据结构,将其拆分为更小部分的过程。本文将详细 阅读全文
posted @ 2020-08-12 21:30 大牛半路出家 阅读(282) 评论(0) 推荐(0)
摘要:概述 是异步编程的一种解决方案。 从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise 状态 状态的特点 Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改 阅读全文
posted @ 2020-08-12 21:21 大牛半路出家 阅读(362) 评论(0) 推荐(0)
摘要:JS ES6中export和import详解 1.Export 模块是独立的文件,该文件内部的所有的变量外部都无法获取。如果希望获取某个变量,必须通过export输出, // profile.js export var firstName = 'Michael'; export var lastNa 阅读全文
posted @ 2020-08-12 21:17 大牛半路出家 阅读(846) 评论(0) 推荐(0)
摘要:https://zhuanlan.zhihu.com/p/23812134?utm_source=tuicool&utm_medium=referral 阅读全文
posted @ 2020-08-12 21:15 大牛半路出家 阅读(260) 评论(0) 推荐(0)
摘要:https://www.jianshu.com/p/9e2a78a35b04 主要的用途是用来合并多个JavaScript的对象。 Object.assign()接口可以接收多个参数,第一个参数是目标对象,后面的都是源对象,assign方法将多个原对象的属性和方法都合并到了目标对象上面,如果在这个过 阅读全文
posted @ 2020-08-12 20:39 大牛半路出家 阅读(1140) 评论(0) 推荐(1)
摘要: 阅读全文
posted @ 2020-08-12 20:18 大牛半路出家 阅读(537) 评论(0) 推荐(0)
摘要:ES6新特性(函数默认参数,箭头函数) 1、函数参数的默认值 ES6则直接在参数定义里面设置函数参数的默认值,而且不用担心传入参数是0或者false会出错了: 2、箭头函数 箭头函数用 => 符号来定义。 箭头函数相当于匿名函数,所以采用函数表达式的写法。 左边是传入函数的参数,右边是函数中执行的语 阅读全文
posted @ 2020-08-12 20:15 大牛半路出家 阅读(421) 评论(0) 推荐(0)
摘要:优点:https://blog.csdn.net/lannieZ/article/details/102680362 1、可以解析变量 var name = `张三` var sayHello = `Hello,我的名字叫${name}` console.log(sayHello) // Hello 阅读全文
posted @ 2020-08-12 20:09 大牛半路出家 阅读(1787) 评论(0) 推荐(0)
摘要:详细解读:https://www.cnblogs.com/yxqd/p/10365072.html 小结 ES5中,使用var定义变量,变量的作用域有两种:全局作用域、函数作用域 var定义变量存在变量提升,此外,先提升函数,后提升变量 ES6中新增了let关键字的同时,也新增了const关键字。l 阅读全文
posted @ 2020-08-12 20:07 大牛半路出家 阅读(268) 评论(0) 推荐(1)
摘要:附:常用正则表达式: 1.由数字、26个英文字母或者下划线组成的字符串: ^[0-9a-zA-Z_]{1,}$ 2.非负整数(正整数 + 0 ): ^/d+$ 3. 正整数: ^[0-9]*[1-9][0-9]*$ 4.非正整数(负整数 + 0): ^((-/d+)|(0+))$ 5. 负整数 : 阅读全文
posted @ 2020-08-11 22:13 大牛半路出家 阅读(1152) 评论(0) 推荐(0)
摘要:js正则表达式常见面试题 1 . 给一个连字符串例如:get-element-by-id转化成驼峰形式。 var str = "get-element-by-id"; var reg = /-\w/g; // 匹配横杆以及之后的一个字符,全局匹配 console.log(str.replace(re 阅读全文
posted @ 2020-08-11 22:11 大牛半路出家 阅读(235) 评论(0) 推荐(0)
摘要:继承在前端逻辑操作中是比较常见的,今天我们就从零开始写一个js的继承方式 在es5中继承实质上是先创建子类的实例对象,然后再将父类的方法添加到this上Parent.call(this),在es6中则是先创建父类的实例对象this调用父类的super(),然后再用子类的构造函数修改this,所以无论 阅读全文
posted @ 2020-08-11 21:55 大牛半路出家 阅读(620) 评论(0) 推荐(0)
摘要:前端路由与后端路由的区别 1.什么是路由 路由是根据不同的 url 地址展示不同的内容或页面; 2、什么是前端路由? 很重要的一点是页面不刷新,前端路由就是把不同路由对应不同的内容或页面的任务交给前端来做,每跳转到不同的URL都是使用前端的锚点路由. 随着(SPA)单页应用的不断普及,前后端开发分离 阅读全文
posted @ 2020-08-11 21:54 大牛半路出家 阅读(718) 评论(0) 推荐(0)
摘要:$(document).ready和window.onload的区别 $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别的。 $(document).ready:是DOM结构绘制完毕后就执行,不必等到加载完毕。 意思就是 阅读全文
posted @ 2020-08-11 21:52 大牛半路出家 阅读(330) 评论(0) 推荐(0)
摘要:浏览器渲染页面的原理及流程 浏览器渲染页面的原理及流程 浏览器将域名通过网络通信从服务器拿到html文件后,如何渲染页面呢? 1.根据html文件构建DOM树和CSSOM树。构建DOM树期间,如果遇到JS,阻塞DOM树及CSSOM树的构建,优先加载JS文件,加载完毕,再继续构建DOM树及CSSOM树 阅读全文
posted @ 2020-08-11 21:51 大牛半路出家 阅读(263) 评论(0) 推荐(0)
摘要:拖拽事件是js原生的事件,使用时在div上添加 draggable="true" 即可拖动该div 在拖动过程中,将激发多个事件,从而完成拖动 注意: 1.浏览器块(div等)默认禁止拖拽事件的拖放操作,所以若想监听drop操作,需要在dragover中阻止元素发生默认的行为,然后就可以监听到dro 阅读全文
posted @ 2020-08-11 21:36 大牛半路出家 阅读(446) 评论(0) 推荐(0)
摘要:json和jsonp的使用区别 一. 跨域请求的概念 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。 二. json和jsonp JSON是一种基于文本的数据交换方式(不支持跨域),而JSONP是一种非官方跨域数据交互协议。 使用json格式传递数据的客户端代码如下: 1 $ 阅读全文
posted @ 2020-08-11 21:29 大牛半路出家 阅读(316) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/coldfishdt/articles/6117260.html 这个更为详细 阅读全文
posted @ 2020-08-11 21:27 大牛半路出家 阅读(292) 评论(0) 推荐(0)
摘要:在JS中经常需要阻止元素的默认事件。而阻止默认事件的方法都是使用事件对象的preventDefault()方法或者在函数中return false。在最近一次开发中使用preventDefault()方法的时候遇到一个问题,现在才想/猜明白原因,场景是这样的: <a href="https://ww 阅读全文
posted @ 2020-08-11 21:06 大牛半路出家 阅读(848) 评论(0) 推荐(0)
摘要:JS阻止事件冒泡的3种方法 什么是JS事件冒泡? 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类 阅读全文
posted @ 2020-08-11 20:25 大牛半路出家 阅读(677) 评论(0) 推荐(0)
摘要:在做移动app开发的时候,需要每次发送请求,都会有‘菊花’提示,请求发送完毕,就需要关闭loading提示框,不然界面就无法被点击。但是请求有的是成功、有的失败、有的超时,为了不影响整个系统的正常使用,就需要强制关闭提示框,正好利用promise的finally来关闭提示框 案例 var promi 阅读全文
posted @ 2020-08-11 20:23 大牛半路出家 阅读(912) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-11 19:37 大牛半路出家 阅读(207) 评论(0) 推荐(0)
摘要:setTimeout与Promise的区别 1,4,3,2 Promise是一个micro task 主线程是一个task micro task queue会在task后面执行 setTimeout返回的函数是一个新的task macro task queue 所以Promise会先于新task执行 阅读全文
posted @ 2020-08-11 19:23 大牛半路出家 阅读(1508) 评论(0) 推荐(0)
摘要:Promise 构造函数是同步执行还是异步执行,那么 then 方法呢? 解题: promise构造函数是同步执行的,then方法是异步执行的 欢迎大佬们补充!! 直接上代码 const promise = new Promise((resolve, reject) => { console.log 阅读全文
posted @ 2020-08-11 19:18 大牛半路出家 阅读(2081) 评论(0) 推荐(0)
摘要:https://www.jianshu.com/p/dc61ea153874 https://blog.csdn.net/endeavor_no1/article/details/83416949 promise出现的目的一为处理JavaScript里的异步,再就是避免回调地狱。 一、promise 阅读全文
posted @ 2020-08-11 19:15 大牛半路出家 阅读(599) 评论(0) 推荐(0)
摘要:1.新增了块级作用域(let,const) 2.提供了定义类的语法糖(class) 3.新增了一种基本数据类型(Symbol) 4.新增了变量的解构赋值 5.函数参数允许设置默认值,引入了rest参数,新增了箭头函数。 6.数组新增了一些API,如isArray / from / of 方法;数组实 阅读全文
posted @ 2020-08-10 23:30 大牛半路出家 阅读(249) 评论(0) 推荐(0)
摘要:js取数组最大值的四种方式 var arr = [7,2,0,-3,5]; 1.apply()应用某一对象的一个方法,用另一个对象替换当前对象 var max = Math.max.apply(null,arr); console.log(max) 由于max()里面参数不能为数组,所以借助appl 阅读全文
posted @ 2020-08-10 23:29 大牛半路出家 阅读(281) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/myfirstboke/p/10449272.html 阅读全文
posted @ 2020-08-10 23:27 大牛半路出家 阅读(224) 评论(0) 推荐(0)
摘要:new的原理https://blog.csdn.net/m0_37686205/article/details/89194248 new: 创建一个新对象。 这个新对象会被执行[[原型]]连接。 将构造函数的作用域赋值给新对象,即this指向这个新对象. 如果函数没有返回其他对象,那么new表达式中 阅读全文
posted @ 2020-08-10 23:18 大牛半路出家 阅读(482) 评论(0) 推荐(1)
摘要:https://blog.csdn.net/lelara/article/details/105337803 阅读全文
posted @ 2020-08-10 23:11 大牛半路出家 阅读(455) 评论(0) 推荐(0)
摘要:JS倒计时setTimeout为什么会出现误差 单线程 JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。 任务队列 单 阅读全文
posted @ 2020-08-10 23:05 大牛半路出家 阅读(1483) 评论(0) 推荐(0)
摘要:call, apply, bind的内部实现原理 https://www.cnblogs.com/renzhiwei2017/p/10364760.html call, apply, bind都是改变函数执行的上下文,说的直白点就是改变了函数this的指向。不同的是:call和apply改变了函数的 阅读全文
posted @ 2020-08-10 22:50 大牛半路出家 阅读(547) 评论(0) 推荐(0)
摘要:在js中只有两种作用域,全局作用域和函数作用域,在ES6之前,js是没有块级作用域。 JavaScript 代码的执行分为两个阶段。第一个阶段在当前词法环境中注册所有的变量和函数声明,简单说就是,解析,解析完成之后,第二个阶段的 JavaScript 执行就开始了! JS中创建函数有两种方式:函数声 阅读全文
posted @ 2020-08-10 22:48 大牛半路出家 阅读(565) 评论(0) 推荐(0)
摘要:js中检测数据类型的几种方式 1、typeof 一元运算符,用来检测数据类型。只可以检测number,string,boolean,object,function,undefined。 对于基本数据类型是没有问题的,但是遇到引用数据类型是不起作用的(无法细分对象) 1 2 3 4 5 6 7 8 9 阅读全文
posted @ 2020-08-10 22:47 大牛半路出家 阅读(310) 评论(0) 推荐(0)
摘要:JavaScript原型,原型链 ? 有什么特点? 每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时, 如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype, 于是就这样一直找下 阅读全文
posted @ 2020-08-10 22:42 大牛半路出家 阅读(351) 评论(0) 推荐(0)
摘要:一:什么是闭包? https://blog.csdn.net/qq_33505829/article/details/86080460 闭包就是能够读取其他函数内部变量的函数,说白了闭包就是个函数,只不过是处于其他函数内部而已。 由于在javascript中,只有函数内部的子函数才能读取局部变量,所 阅读全文
posted @ 2020-08-10 22:41 大牛半路出家 阅读(951) 评论(0) 推荐(0)
摘要:闭包的主要作用:延伸了变量的作用范围; 一般局部变量在函数运行完后就会销毁,但是闭包的存在,就使其他函数(要使用该闭包函数中变量的函数)都运行完才会销毁。 阅读全文
posted @ 2020-08-10 22:40 大牛半路出家 阅读(167) 评论(0) 推荐(0)
摘要:==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换 :用来检测两个操作数是否严格相等1、对于string,number等基础类型,==和 是有区别的不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等, 如果类型不同,其结果就是不等同类型比 阅读全文
posted @ 2020-08-10 22:34 大牛半路出家 阅读(253) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/kzxiaotan/articles/11683633.html 阅读全文
posted @ 2020-08-10 22:32 大牛半路出家 阅读(254) 评论(0) 推荐(0)
摘要:浅拷贝的四种方式: 深拷贝: JS实现深拷贝 https://www.cnblogs.com/dobeco/p/11295316.html 一、赋值、浅拷贝与深拷贝的区别 二、深拷贝的方法 1.JSON转换 var targetObj = JSON.parse(JSON.stringify(copy 阅读全文
posted @ 2020-08-10 22:11 大牛半路出家 阅读(449) 评论(0) 推荐(0)
摘要:显式转换 通过手动进行类型转换,Javascript提供了以下转型函数: 转换为数值类型:Number(mix)、parseInt(string,radix)、parseFloat(string) 转换为字符串类型:toString(radix)、String(mix) 转换为布尔类型:Boolea 阅读全文
posted @ 2020-08-10 21:02 大牛半路出家 阅读(535) 评论(0) 推荐(0)
摘要:原始类型有哪几种?null 是对象吗? 在 JS 中,存在着 6 种原始值,分别是: boolean null undefined number string symbol 首先原始类型存储的都是值,是没有函数可以调用的,比如undefined.toString() 此时你肯定会有疑问,这不对呀,明 阅读全文
posted @ 2020-08-10 20:59 大牛半路出家 阅读(251) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/Red-ButterFly/p/9055175.html 重点 阅读全文
posted @ 2020-08-10 20:58 大牛半路出家 阅读(203) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/u014328357/article/details/53317136 好多,自己看吧 阅读全文
posted @ 2020-08-10 20:50 大牛半路出家 阅读(792) 评论(0) 推荐(0)
摘要:「node.getAttribute('someAttribute')」获取的是「attribute」 「node.someAttribute」获取的是元素的「property」,二者并不相同,本文将进行详细对介绍。 在大多数情况下「property」和「attribute」是同步的,如场景1。 场 阅读全文
posted @ 2020-08-10 20:47 大牛半路出家 阅读(313) 评论(0) 推荐(0)
摘要:1. script 没有 defer 和 async 会停止(阻塞)dom 树构建,立即加载,并执行脚本 2. script 带 async 不会停止(阻塞)dom 树构建,立即异步加载,加载好后立即执行 3. script 带 defer 不会停止(阻塞)dom 树构建,立即异步加载。加载好后,如 阅读全文
posted @ 2020-08-10 20:44 大牛半路出家 阅读(218) 评论(0) 推荐(0)
摘要:JS延迟加载,也就是等页面加载完成之后再加载 JavaScript 文件。 JS延迟加载有助于提高页面加载速度。 一般有以下几种方式: 1)defer 属性 1 <script src="test1.js" defer="defer"></script> 2)async 属性 1 <script s 阅读全文
posted @ 2020-08-10 20:42 大牛半路出家 阅读(1266) 评论(0) 推荐(0)
摘要:["1", "2", "3"].map(parseInt) 答案是多少? 让我们先看看最直接最粗暴的方式 没错,答案就是:[1, NaN, NaN],那为什么答案是[1, NaN, NaN]呢? 1.让我们先了解一下map函数的定义 JavaScript Array map() 方法 定义和用法 m 阅读全文
posted @ 2020-08-10 20:40 大牛半路出家 阅读(230) 评论(0) 推荐(0)
摘要:Null和undefined的区别? (1)null是一个表示”无”的对象,转我数值是为0,undefined是一个表示”无”的原始值,转为数值时为NaN。当声明的变量还未被初始化时,能量的默认值为undefined (2)Null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象 (3 阅读全文
posted @ 2020-08-10 20:18 大牛半路出家 阅读(224) 评论(0) 推荐(0)
摘要:说几条JavaScript的基本规范 1、不要在同一行声明多个变量 2、使用 或!==来比较 3、使用字面量的方式来创建对象、数组,替代new Array这种形式 4、不要使用全局函数 5、switch语句必须要带default分支 6、函数不应该有的时候有return,有的时候没有return 7 阅读全文
posted @ 2020-08-10 20:17 大牛半路出家 阅读(384) 评论(0) 推荐(0)
摘要:JS内置对象有哪些? JS内置对象分为数据封装类对象和其他对象 数据封装类对象:String,Boolean,Number,Array,和Object; 其他对象:Function,Arguments,Math,Date,RegExp,Error 阅读全文
posted @ 2020-08-10 20:15 大牛半路出家 阅读(986) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-10 19:55 大牛半路出家 阅读(218) 评论(0) 推荐(0)
摘要:创建Object的方式有4种。 方式一: 通过对象字面量表示法(又称为直接量、原始方式)。 var obj = {name:"moyu"}; 方式二: 通过new和构造函数Object()、String()等。 var obj = new Object(); 方式三: 自定义一个对象的构造函数,然后 阅读全文
posted @ 2020-08-10 19:51 大牛半路出家 阅读(268) 评论(0) 推荐(0)
摘要:offset包含边框,其他的不包括; scroll包括文字超出的部分。client不包括文字超出的部分; 阅读全文
posted @ 2020-08-10 19:49 大牛半路出家 阅读(187) 评论(0) 推荐(0)
摘要:同源策略指的是:协议,域名,端口相同,同源策略是一种安全协议 举例说明:比如一个黑客程序,他利用Iframe把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。 同源策略限制从一 阅读全文
posted @ 2020-08-09 22:44 大牛半路出家 阅读(381) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/liu0415111/article/details/79601227 阅读全文
posted @ 2020-08-09 22:42 大牛半路出家 阅读(857) 评论(1) 推荐(0)
摘要:自己查去 阅读全文
posted @ 2020-08-09 22:40 大牛半路出家 阅读(541) 评论(0) 推荐(0)
摘要:xml:可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。 json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。 二者区别: 它们都是一种数据交换格式。 1,xml是重量级的,json是轻量级的。 2,xml在传输过程中比较 阅读全文
posted @ 2020-08-09 22:38 大牛半路出家 阅读(468) 评论(0) 推荐(0)
摘要:14. 异步加载Js的方式有哪些?https://www.cnblogs.com/Lolita-web/p/10456967.html 我们都知道渲染引擎遇到 script 标签会停下来,等到执行完脚本,继续向下渲染,如下: 1 <script type="text/javascript" src= 阅读全文
posted @ 2020-08-09 22:37 大牛半路出家 阅读(825) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/qianguyihao/p/8485028.html 阅读全文
posted @ 2020-08-09 22:35 大牛半路出家 阅读(224) 评论(0) 推荐(0)
摘要:new操作符具体干了什么呢 1.创建一个空对象: 并且this变量引入该对象,同时还继承了函数的原型。 2.属性和方法被加入到 this 引用的对象中。 3.新创建的对象由 this 所引用,并且最后隐式的返回 this 。 Javascript的new关键字主要的作用是继承 new一共经历4个阶段 阅读全文
posted @ 2020-08-09 22:16 大牛半路出家 阅读(219) 评论(0) 推荐(0)
摘要:js获取0-1之间的随机数,获取1-10之间的随机数 1.js //获取0-1之间的随机数 var num = Math.random(); console.log(num); //获取1-10之间的随机数 var num = Math.floor(Math.random() * 10+ 1); c 阅读全文
posted @ 2020-08-09 22:15 大牛半路出家 阅读(4776) 评论(0) 推荐(0)
摘要:目录 相比普通函数更简洁的语法 没有this 不能使用new 不绑定arguments,用rest参数...解决 使用call()和apply()调用 捕获其所在上下文的 this 值,作为自己的 this 值 箭头函数没有原型属性 不能简单返回对象字面量 箭头函数不能当做Generator函数,不 阅读全文
posted @ 2020-08-09 22:13 大牛半路出家 阅读(322) 评论(0) 推荐(0)
摘要:1.let/const定义的变量不会出现变量提升,而var定义的变量会提升2.相同作用域中,let和const不能出现重复声明。而var就可以3.const声明变量时必须设置初始值4.const声明一个只读的常量,这个常量不可改变。在这里有个非常重要的点:JS中,复杂数据类型,存储在栈中的是堆内存的 阅读全文
posted @ 2020-08-09 21:44 大牛半路出家 阅读(203) 评论(0) 推荐(0)
摘要:js继承的6种方式 想要继承,就必须要提供个父类(继承谁,提供继承的属性) 一、原型链继承 重点:让新实例的原型等于父类的实例。 特点:1、实例可继承的属性有:实例的构造函数的属性,父类构造函数属性,父类原型的属性。(新实例不会继承父类实例的属性!) 缺点:1、新实例无法向父类构造函数传参。 2、继 阅读全文
posted @ 2020-08-09 21:42 大牛半路出家 阅读(732) 评论(0) 推荐(0)
摘要:function trim(str) { if (str && typeof str "string") { return str.replace(/(^\s*)|(\s*)$/g,""); //去除前后空白符 } } 阅读全文
posted @ 2020-08-09 21:41 大牛半路出家 阅读(451) 评论(0) 推荐(0)
摘要:https://segmentfault.com/a/1190000014033689 阅读全文
posted @ 2020-08-09 21:39 大牛半路出家 阅读(173) 评论(0) 推荐(0)
摘要:前端开发总少不了与后台的数据交互,在与后台交互的过程中,总少不了会遇到跨域的问题。之前在做项目的时候,遇到跨域问题,总是找后台的人解决,一直不甚了解其中的原理。最近一次面试过程中,一个interviewee说他很了解跨域的知识,但是我对这段不了解,因此不确定他是否正确。因此,我决定花点时间来弄明白这 阅读全文
posted @ 2020-08-09 21:36 大牛半路出家 阅读(838) 评论(0) 推荐(0)
摘要:一、函数内部的this指向 调用方式 this指向 普通函数调用 window 构造函数调用 实例对象 对象的方法调用 该方法所属对象 事件绑定方法 绑定事件对象 定时器函数 window 立即执行函数 window 1、普通函数调用 普通函数的this指向window 1 function fun 阅读全文
posted @ 2020-08-09 21:34 大牛半路出家 阅读(1123) 评论(0) 推荐(0)
摘要:JS事件委托或者事件代理原理以及实现 事件委托(事件代理)原理:简单的说就是将事件交由别人来执行,就是将子元素的事件通过冒泡的形式交由父元素来执行。 为什么要用时间委托? 在JavaScript中,添加到页面上的事件处理程序数量将直接关系到页面的整体运行性能,因为需要不断的与dom节点进行交互,访问 阅读全文
posted @ 2020-08-09 21:31 大牛半路出家 阅读(425) 评论(0) 推荐(0)
摘要:编写javascript代码的时候常常要判断变量,字面量的类型,可以用typeof,instanceof,Array.isArray(),等方法,究竟哪一种最方便,最实用,最省心呢?本问探讨这个问题。 1. typeof 1.1 语法 typeof返回一个字符串,表示未经计算的操作数的类型。 语法: 阅读全文
posted @ 2020-08-09 21:29 大牛半路出家 阅读(553) 评论(0) 推荐(0)
摘要:function sum(num) {if( num==1 ){return 1;}return num+sum(num-1);}console.log(sum(100)) 阅读全文
posted @ 2020-08-09 21:25 大牛半路出家 阅读(2830) 评论(0) 推荐(0)
摘要:1.闭包函数是指有权访问另一个函数作用域中的变量的函数2.创建闭包函数最常见的方式是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量 3.闭包的特点:1函数嵌套函数, 2 函数内部可以引用外部的参数和变量 3 参数和变量不会被垃圾回收机制回收 4.闭包的优点:1 希望一个变量长期驻扎 阅读全文
posted @ 2020-08-09 21:23 大牛半路出家 阅读(524) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/weixin_42412046/article/details/81459294?tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_ios&utm_campaign=client_share 阅读全文
posted @ 2020-08-09 21:21 大牛半路出家 阅读(260) 评论(0) 推荐(0)
摘要:实现一个函数CLONE 可以对JAVASCRIPT中的五种主要数据类型(NUMBER、STRING、OBJECT、ARRAY、BOOLEAN)进行复制 function clone(obj) { var o; switch (typeof obj) { case "undefined": break 阅读全文
posted @ 2020-08-09 17:15 大牛半路出家 阅读(411) 评论(0) 推荐(0)
摘要:1)创建新节点(都要加引号) createDocumentFragment() //创建一个DOM片段https://www.jianshu.com/p/8ae83364c09c createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 2)添加 阅读全文
posted @ 2020-08-09 17:13 大牛半路出家 阅读(1205) 评论(0) 推荐(0)
摘要:js是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。如果一个任务耗时过长,那么后面的任务就必须一直等待下去,会拖延整个程序,常见浏览器无反应,可能就是一段代码死循环,造成程序卡住在这个位置,无法继续 为了解决这 阅读全文
posted @ 2020-08-09 17:10 大牛半路出家 阅读(1845) 评论(0) 推荐(0)
摘要:css 代码: overflow: hidden; white-space: nowrap; text-overflow: ellipsis; 阅读全文
posted @ 2020-08-09 00:24 大牛半路出家 阅读(207) 评论(0) 推荐(0)
摘要:CSS Sprites简介 通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟,阿里巴巴各子公司的网页中到处都可发现css sprites 的影子。但CSS Sprites并不是什么金科玉律,但在很多情况下,它有着一定的优 阅读全文
posted @ 2020-08-09 00:22 大牛半路出家 阅读(426) 评论(0) 推荐(0)
摘要:参数是scroll时候,必会出现滚动条。参数是auto时候,子元素内容大于父元素时出现滚动条。参数是visible时候,溢出的内容出现在父元素之外。参数是hidden时候,溢出隐藏。 阅读全文
posted @ 2020-08-09 00:19 大牛半路出家 阅读(403) 评论(0) 推荐(0)
摘要:1⃣️ 写在body标签前利于浏览器逐步渲染: resources downloading->CSSOM+DOM->RenderTree(composite)->Layout->paint 2⃣️ 写在body标签后: 由于浏览器以逐行方式对html文档进行解析; 当解析到写在尾部的样式表(外联或写 阅读全文
posted @ 2020-08-09 00:18 大牛半路出家 阅读(884) 评论(0) 推荐(0)
摘要:png是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图文件格式.优点是:压缩比高,色彩好。 大多数地方都可以用。 jpg是一种针对相片使用的一种失真压缩方法,是一种破坏性的压缩,在色调及颜色平滑变化做的不错。在www上,被用来储存和传输照片的格式。 gif 阅读全文
posted @ 2020-08-09 00:17 大牛半路出家 阅读(972) 评论(0) 推荐(0)
摘要:外层div使用position:relative;高度要求自适应的div使用position: absolute; top: 100px; bottom: 0; left: 0 阅读全文
posted @ 2020-08-09 00:16 大牛半路出家 阅读(273) 评论(0) 推荐(0)
摘要:display:inline-block是一种布局方法,它相比于与浮动、定位最大的不同就是其没有父元素的匿名包裹特性,这使得display:inline-block属性的使用非常自由,可与文字,图片混排,可内嵌block属性元素,可以置身于inline水平的元素中。 在CSS布局中,如果我们想要将一 阅读全文
posted @ 2020-08-09 00:15 大牛半路出家 阅读(1682) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/sjinsa/article/details/70919546 阅读全文
posted @ 2020-08-09 00:13 大牛半路出家 阅读(339) 评论(0) 推荐(0)
摘要:多数显示器默认频率是60Hz,即1秒刷新60次,所以理论上最小间隔为1/60*1000ms = 16.7ms。 阅读全文
posted @ 2020-08-09 00:09 大牛半路出家 阅读(865) 评论(0) 推荐(1)
摘要:-webkit-font-smoothing在window系统下没有起作用,但是在IOS设备上起作用-webkit-font-smoothing:antialiased是最佳的,灰度平滑。 阅读全文
posted @ 2020-08-09 00:07 大牛半路出家 阅读(675) 评论(0) 推荐(0)
摘要:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。 ::before就是以一个子元素的存在,定义在元素主体内容之前的一个伪元素。并不存在于dom之中,只存在在页面之中。 :before 和 :after 这两个伪元素,是在CSS2.1里新出现的。起初,伪元素的前缀使用的是单冒号语法,但 阅读全文
posted @ 2020-08-09 00:04 大牛半路出家 阅读(765) 评论(0) 推荐(0)
摘要:视差滚动(Parallax Scrolling)通过在网页向下滚动的时候,控制背景的移动速度比前景的移动速度慢来创建出令人惊叹的3D效果。 CSS3实现优点:开发时间短、性能和开发效率比较好,缺点是不能兼容到低版本的浏览器 jQuery实现通过控制不同层滚动速度,计算每一层的时间,控制滚动效果。优点 阅读全文
posted @ 2020-08-09 00:01 大牛半路出家 阅读(213) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/yehaocheng520/article/details/105611762 阅读全文
posted @ 2020-08-08 23:59 大牛半路出家 阅读(575) 评论(0) 推荐(0)
摘要:margin: 需要在border外侧添加空白时; 空白处不需要背景(色)时; 上下相连的两个盒子之间的空白,需要相互抵消时。 padding: 需要在border内测添加空白时; 空白处需要背景(色)时; 上下相连的两个盒子之间的空白,希望等于两者之和时 阅读全文
posted @ 2020-08-08 23:53 大牛半路出家 阅读(842) 评论(0) 推荐(0)
摘要:偶数字号相对更容易和 web 设计的其他部分构成比例关系 阅读全文
posted @ 2020-08-08 23:52 大牛半路出家 阅读(564) 评论(0) 推荐(0)
摘要:浏览器会『从右往左』解析CSS选择器。我们知道DOM Tree与Style Rules合成为 Render Tree,实际上是需要将Style Rules附着到DOM Tree上,因此需要根据选择器提供的信息对DOM Tree进行遍历,才能将样式附着到对应的DOM元素上。以下这段css为例<styl 阅读全文
posted @ 2020-08-08 23:50 大牛半路出家 阅读(616) 评论(0) 推荐(0)
摘要:CSS优化,提高性能的方法有哪些? 1,首推的是合并css文件,如果页面加载10个css文件,每个文件1k,那么也要比只加载一个100k的css文件慢。 2,减少css嵌套,最好不要套三层以上。 3,不要在ID选择器前面进行嵌套,ID本来就是唯一的而且人家权值那么大,嵌套完全是浪费性能。 4,建立公 阅读全文
posted @ 2020-08-08 23:48 大牛半路出家 阅读(339) 评论(0) 推荐(0)
摘要:现在HTML5前端不仅仅局限于PC端,HTML5前端还可以实现移动端,实现微信等等,传统的布局单位px,不能是达到自适应的学校过,那么移动端布局有哪些方式呢? 媒体查询 + rem单位布局 说道这个布局,,那么我们首先得了解什么是媒体查询,rem是什么? 媒体查询:媒体查询可以让我们根据设备显示器的 阅读全文
posted @ 2020-08-08 23:47 大牛半路出家 阅读(368) 评论(0) 推荐(0)
摘要:1.为什么关注此问题? 行内元素设置为浮动后,可以设置宽高了,为什么? 我们知道Html元素分三种 块级元素(display:block)--> 可以设置元素的宽高 行内元素(display:inline)--> 默认不换行,设置width/height无效(可以设置line-height),mar 阅读全文
posted @ 2020-08-08 23:44 大牛半路出家 阅读(1994) 评论(0) 推荐(0)
摘要:两个或多个块级盒子的垂直相邻边界会重合。结果的边界宽度是相邻边界宽度中最大的值。如果出现负边界,则在最大的正边界中减去绝对值最大的负边界。如果没有正边界,则从零中减去绝对值最大的负边界。注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成。但是边界的重叠也有例外情况: 1、水平边距永远不会重合。 阅读全文
posted @ 2020-08-08 23:43 大牛半路出家 阅读(848) 评论(0) 推荐(0)
摘要:(1)为什么需要浮动据网上资料显示,以前提出浮动的概念主要是为了解决左边图片,右边文字的需求,后来浮动在网页的布局中应用比较广泛。我之前在学习网页设计时,针对于一个花店的导航页,存在许多的图片显示,而有效并且美观的布局样式极为重要,这时float属性就显得尤为重要。(2)什么时候需要清除浮动浮动的属 阅读全文
posted @ 2020-08-08 23:41 大牛半路出家 阅读(404) 评论(0) 推荐(0)
摘要:一道面试题的分析总结: display属性规定元素应该生成的框的类型; position属性规定元素的定位类型; float属性是一种布局方式,定义元素在哪个方向浮动。 类似于优先级机制: position:absolute/fixed优先级最高,有他们在时,float不起作用,display值需要 阅读全文
posted @ 2020-08-08 23:38 大牛半路出家 阅读(446) 评论(0) 推荐(0)
摘要:董雅真好看 前端面试题总结 前端面试题总结 Vue面试题生命周期函数面试题 1.什么是 vue 生命周期2.vue生命周期的作用是什么3.第一次页面加载会触发哪几个钩子4.简述每个周期具体适合哪些场景5.created和mounted的区别6.vue获取数据在哪个周期函数7.请详细说下你对vue生命 阅读全文
posted @ 2020-08-08 23:32 大牛半路出家 阅读(293) 评论(0) 推荐(0)
摘要:display: none与visibility: hidden的区别很多前端的同学认为visibility: hidden和display: none的区别仅仅在于display: none隐藏后的元素不占据任何空间,而visibility: hidden隐藏后的元素空间依旧保留 ,实际上没那么简 阅读全文
posted @ 2020-08-08 23:31 大牛半路出家 阅读(204) 评论(0) 推荐(0)
摘要:1.浏览器差异 不同浏览器对有些标签的默认值是不同的,如果没对css初始化会出现浏览器之间的页面显示差异 2.提高编码质量 如果不初始化,整个页面做完会很糟糕,重复的css样式很多 阅读全文
posted @ 2020-08-08 23:28 大牛半路出家 阅读(218) 评论(0) 推荐(0)
摘要:采用的是均分原理,把矩形分为4等份,这4等份其实都是边框 image.png 实现方式, 核心就是给块级元素设置宽高为0,设置边框的宽度,不需要显示的边框使用透明色; image.png 使用场景 使用场景一般都是做一些小图标,比如之前做的京东二维码 上面这种做法就是用两个大小一样的三角形重叠在一起 阅读全文
posted @ 2020-08-08 23:27 大牛半路出家 阅读(791) 评论(0) 推荐(0)
摘要:弹性盒模型是c3规范的新的布局方式,该布局模型的目的是提供一种更加高效的方式来对容器的条目进行布局、对齐和分配空间。在传统的布局中,block布局是把块级元素在垂直方向从上向下一次排列的,而inline布局则是在水平方向来排列。弹性盒布局没有这样的内在限制,操作比较自由。 适用于移动端,在Andro 阅读全文
posted @ 2020-08-08 23:24 大牛半路出家 阅读(465) 评论(0) 推荐(0)
摘要:一,css选择器: 1.id选择器( # myid) 2.类选择器(.myclassname) 3.标签选择器(div, h1, p) 4.相邻选择器(h1 + p) 5.子选择器(ul > li) 6.后代选择器(li a) 7.通配符选择器( * ) 8.属性选择器(a[rel = "exter 阅读全文
posted @ 2020-08-08 23:23 大牛半路出家 阅读(278) 评论(0) 推荐(0)
摘要:⒈localStorage长期存储数据,浏览器关闭数据后不丢失; ⒉sessionStorage数据在浏览器关闭后自动删除; ⒊cookie是网站为了标识用户身份而存储在用户本地终端(Client Side)上的数据(通常经过加密)。cookie始终在同源的http请求中携带(即使不需要)都会在浏览 阅读全文
posted @ 2020-08-08 23:21 大牛半路出家 阅读(252) 评论(0) 推荐(0)
摘要:区分用户是计算机还是人的公共全自动程序。可以防止恶意破解密码、刷票、论坛灌水 有效防止黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试 阅读全文
posted @ 2020-08-08 23:20 大牛半路出家 阅读(753) 评论(0) 推荐(0)
摘要:canvas与svg都是可以在浏览器上创建图形,因此,在html5中感觉canvas和svg很相似,但是实际上canvas与svg有着根本的区别。下面php中文网通过比较canvas和svg之间的不同来给大家总结了关于canvas与svg的区别。一起来看一看吧。 在说canvas与svg的区别之前, 阅读全文
posted @ 2020-08-08 23:19 大牛半路出家 阅读(442) 评论(0) 推荐(0)
摘要:一、Doctype作用是什么?<!DOCTYPE>声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。<!DOCTYPE>声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。二、严格模式与混杂模式如何区分?它们有何意义?严格 阅读全文
posted @ 2020-08-08 23:17 大牛半路出家 阅读(355) 评论(0) 推荐(0)
摘要:iframe的优点: 1.iframe能够原封不动的把嵌入的网页展现出来。 2.如果有多个网页引用iframe,那么你只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷。 3.网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码 阅读全文
posted @ 2020-08-08 23:14 大牛半路出家 阅读(293) 评论(0) 推荐(0)
摘要:在离线的情况下,浏览器发现html头部有manifest属性,它会请求manifest文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储,如果已近访问过app并且资源已经立宪存储了,那么浏览器就会使用立宪的资源存储了,然后浏览器会对比新的mani 阅读全文
posted @ 2020-08-08 23:13 大牛半路出家 阅读(378) 评论(0) 推荐(0)
摘要:HTML5的离线存储怎么使用,工作原理能不能解释一下? 1.在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件 原理: HTML5的离线存储是基于一个新建的 .appcache 文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资 阅读全文
posted @ 2020-08-08 23:11 大牛半路出家 阅读(927) 评论(0) 推荐(0)
摘要:html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析; 在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。 搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。 作者:李轻舟链接:https://w 阅读全文
posted @ 2020-08-08 23:07 大牛半路出家 阅读(318) 评论(0) 推荐(0)
摘要:1、Content方面 减少HTTP请求:合并文件、CSS精灵、inline image 减少DNS查询: DNS查询完之前浏览器不能从这个主机下载任何文件、方法:DNS缓存、讲资源分布到恰当的数量的主机名,平衡并行下载和DNS查询 避免重定向 : 多余的中间访问 使用AJAX缓存 非必须组件延迟加 阅读全文
posted @ 2020-08-08 19:34 大牛半路出家 阅读(240) 评论(0) 推荐(0)
摘要:基础版本(面试笔试) 浏览器根据请求的 URL 交给 DNS 进行域名解析,找到真实 IP 地址,向服务器发起请求; 服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、CSS、JS、images等); 浏览器对加载到的资源(HTML、CSS、JS、images等)进行语法解析,建立相应的内 阅读全文
posted @ 2020-08-08 19:33 大牛半路出家 阅读(249) 评论(0) 推荐(0)
摘要:alt属性和title属性的区别是前者是在图片无法加载的时候才会显示的其值,而title是在图片正常加载鼠标划上去显示的值 阅读全文
posted @ 2020-08-08 19:31 大牛半路出家 阅读(214) 评论(0) 推荐(0)
摘要:1.合理的title,description,keywords:搜索对三个的权重逐个减小,title值强调重点即可,重点词出现不要超过两次,而且要靠前,不同页面的title要有所不同。description把页面内容高度概括,长度合适,不要过分堆砌关键词,不同页面description有所不同,ke 阅读全文
posted @ 2020-08-08 19:30 大牛半路出家 阅读(206) 评论(0) 推荐(0)
摘要:8 种请求方法 OPTIONS:返回服务器针对特定资源所支持的 HTTP 请求方法,也可以利用其向 web 服务器发送 * 的请求来测试服务器的功能性。 HEAD:向服务器索与 GET 请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应小消息 阅读全文
posted @ 2020-08-08 19:29 大牛半路出家 阅读(685) 评论(0) 推荐(1)
摘要:伪类和伪元素的具体概念如下: 伪类:用于已有元素处于某种状态时为其添加对应的样式,这个状态是根据用户行为而动态变化的。 例如:当用户悬停在指定元素时,可以通过:hover来描述这个元素的状态,虽然它和一般css相似,可以为已有元素添加样式,但是它只有处于DOM树无法描述的状态下才能为元素添加样式,所 阅读全文
posted @ 2020-08-08 19:27 大牛半路出家 阅读(227) 评论(0) 推荐(0)
摘要:解决办法为: (1) 用HTML标签设置HTTP头信息 <HEAD> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV 阅读全文
posted @ 2020-08-08 19:20 大牛半路出家 阅读(729) 评论(0) 推荐(0)
摘要:CSS预处理器 1. 基于CSS的另一种语言 2. 通过工具编译成CSS 3. 添加了很多CSS不具备的特性 4. 能提升CSS文件的组织方式 CSS预处理器的作用 1. 帮助更好的组织CSS代码 2. 提高代码复用率 3. 提升可维护性 CSS预处理种类 1. Less 文件后缀名:.less a 阅读全文
posted @ 2020-08-08 19:18 大牛半路出家 阅读(528) 评论(0) 推荐(0)
摘要:一、前言 偶尔在面试过程中遇到过重汇与回流reflow的问题,毕竟页面优化也是考核一个开发者能力的关键之一,上篇文章聊了下documentfragment也是为了减轻回流问题,那么本篇文章好好介绍下重绘和回流。 二、重绘和回流是什么 怎么去理解这两个概念呢?从字面上理解,重绘,重新绘画,重新上色,较 阅读全文
posted @ 2020-08-08 19:15 大牛半路出家 阅读(5199) 评论(0) 推荐(2)
摘要:在这一年的工作中,我发现很多问题你利用自己的「聪明才智」绕过去了,总有一天它会和你不期而遇,今天我们就来直面一个字体兼容性的小问题:Chrome谷歌浏览器下不支持css字体小于12px。 我们先来看个效果图(chrome下): 给你看个栗子.png 从上面的图可以很明显地看出Chrome下css设置 阅读全文
posted @ 2020-08-08 19:11 大牛半路出家 阅读(1289) 评论(0) 推荐(0)
摘要:data-用于存储页面或应用程序的私有自定义数据,赋予我们在所有HTML元素上嵌入自定义data属性的能力,存储的数据能被页面的JS利用,以创建更好的用户体验。 1 <div id="box" data-user-name="lily"></div> 2 var box = document.get 阅读全文
posted @ 2020-08-08 19:09 大牛半路出家 阅读(347) 评论(0) 推荐(0)
摘要:1.文件合并(目的是减少http请求):使用css sprites合并图片,一个网站经常使用小图标和小图片进行美化,但是很遗憾这些小图片占用了大量的HTTP请求,因此可以采用sprites的方式把所有的图片合并成一张图片 ,可以通过相关工具在线合并,也可以在ps中合并。 2.使用CDN(内容分发网络 阅读全文
posted @ 2020-08-08 18:47 大牛半路出家 阅读(316) 评论(0) 推荐(0)
摘要:DNS缓存:短时间内多次访问某个网站,在限定时间内,不用多次访问DNS服务器。 CDN缓存:内容分发网络(人们可以在就近的代售点取火车票了,不用非得到火车站去排队) 浏览器缓存:浏览器在用户磁盘上,对最新请求过的文档进行了存储。 服务器缓存:将需要频繁访问的Web页面和对象保存在离用户更近的系统中, 阅读全文
posted @ 2020-08-08 18:44 大牛半路出家 阅读(449) 评论(0) 推荐(0)
摘要:HTTP协议 什么是HTTP HTTP协议规定了浏览器怎样向万维网服务请求万维网文档,以及服务器怎样把文档传送给浏览器。在服务器和浏览器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议HTTP。 HTTP规定在HTTP客户和HTTP服务器之间的每次交互,都 阅读全文
posted @ 2020-08-08 18:43 大牛半路出家 阅读(660) 评论(0) 推荐(0)
摘要:浮动对页面的影响: 如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0, 下面的元素会自动补位,所以这个时候要进行浮动的清除。 关于清除浮动的方式: 方式一:使用overflow属性来清除浮动 .ovh{ overflow: 阅读全文
posted @ 2020-08-08 18:42 大牛半路出家 阅读(239) 评论(0) 推荐(0)
摘要:响应式设计与自适应设计的区别:响应式开发一套界面,通过检测视口分辨率,针对不同客户端在客户端做代码处理,来展现不同的布局和内容;自适应需要开发多套界面,通过检测视口分辨率,来判断当前访问的设备是pc端、平板、手机,从而请求服务层,返回不同的页面。 flex布局 当使用flex布局的时候涉及到两个东西 阅读全文
posted @ 2020-08-08 18:41 大牛半路出家 阅读(558) 评论(0) 推荐(0)
摘要:一、盒子没有固定的宽和高 方案1、Transforms 变形 这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform: translate(-50%,-50%) 必须加上 top: 50%; left: 50%; 优点: 1. 内容可变高度 2. 代 阅读全文
posted @ 2020-08-08 18:30 大牛半路出家 阅读(749) 评论(0) 推荐(0)