jquery

jQuery自适应宽度,还不够完美。先记录下

偶尔善良 提交于 2021-02-13 04:23:56
/* var browser_width = 100%;// $(document.body).width(); $("body").css("min-width",browser_width); $(window).resize(function() { browser_width = 100%;//$(document.body).width(); $("body").css("min-width",browser_width); }); */ /* var browser_width = $(window.parent.document).find("#main").width(); $("body").css("width",browser_width); $(window).resize(function() { $(document.body).width(0); browser_width = $(window.parent.document).find("#main").width(); $("body").css("width",browser_width); });*/ 来源: oschina 链接: https://my.oschina.net/jacochan/blog/4952519

前端个人面试真题碾压互联网一线大厂

巧了我就是萌 提交于 2021-02-13 02:20:17
1.document.parentNode和document.parentnode document.parentNode -> null (有属性但没有值) document.parentnode -> undefined (没有属性) 如果说当前对象有这个属性,这个属性没有值是null;如果没有这个属性为undefined 2.let vs var区别 1.let没有变量提升(但在词法解析阶段也得知某一个变量是否是私有变量) 2.let不允许在相同的作用域下重复声明 3.let解决了JS中的暂时性死区问题 4.let创建的全局变量没有给window设置对应的属性 5.let会产生块级作用域 … 你理解的闭包是什么,优缺点? 解释:函数执行会形成一个全新私有作用域,保护里面的变量不收外界的干扰,这种保护机制就是闭包 官方解释: 函数执行会形成一个私有栈内存作用域,函数不销毁,与里面的私有变量不冲突,并且也可以保存下来。 闭包就是保存和保护。保护私有变量与外界没有联系,不收干扰。保存就是保存私有变量不销毁。 标准回答技巧: 1.我封装了一个组件,大量运用了闭包。。。 2.我研究Jquery源码,发现就是闭包保护起来的 3.我在研究react源码,发现rudex就是利用了闭包 优缺点:过多的运用闭包会形成性能上的消耗,所以尽量减少闭包的使用。 3.实现弹出5个索引,说明原理

JS事件冒泡和事件捕获

China☆狼群 提交于 2021-02-12 18:49:34
他们是描述事件触发时序问题的术语。事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。Jquery的e.stopPropagation会阻止冒泡,意思就是到我为止,我的爹和祖宗的事件就不要触发了。 这是HTML结构 1 2 3 < div id="parent">   < div id="child" class="child"></ div > </ div > 现在我们给它们绑定上事件 document.getElementById("parent").addEventListener("click",function(e){ alert("parent事件被触发,"+this.id); }) document.getElementById("child").addEventListener("click",function(e){ alert("child事件被触发,"+this.id) }) 结果: child事件被触发,child parent事件被触发,parent 结论:先child,然后parent。事件的触发顺序自内向外,这就是事件冒泡。

前端面试合集

半世苍凉 提交于 2021-02-12 18:12:13
VUE 1.什么是 vue 生命周期 2.vue生命周期的作用是什么 3.第一次页面加载会触发哪几个钩子 4.简述每个周期具体适合哪些场景 5.created和mounted的区别 6.vue获取数据在哪个周期函数 7.请详细说下你对vue生命周期的理解? vue路由面试题 mvvm 框架是什么? vue-router 是什么?它有哪些组件 active-class 是哪个组件的属性? 怎么定义 vue-router 的动态路由? 怎么获取传过来的值 vue-router 有哪几种导航钩子? 6.$route 和 $router 的区别 7.vue-router响应路由参数的变化 8.vue-router传参 9.vue-router的两种模式 10.vue-router实现路由懒加载( 动态加载路由 ) vue常见面试题 1.vue优点 2.vue父组件向子组件传递数据? 3.子组件像父组件传递事件 4.v-show和v-if指令的共同点和不同点 5.如何让CSS只在当前组件中起作用 6.<keep-alive></keep-alive>的作用是什么? 7.如何获取dom 8.说出几种vue当中的指令和它的用法? 9. vue-loader是什么?使用它的用途有哪些? 10.为什么使用key 11.axios及安装 12.axios解决跨域 13.v-modal的使用 14

什么是闭包,闭包造成的内存泄露如何解决

梦想的初衷 提交于 2021-02-12 12:28:14
什么是闭包? 能够访问其他函数内部变量的函数 闭包解决了什么问题 由于变量的作用域的原因-----(函数内部能读取全局变量,函数外部无法读取函数内部的变量【局部变量】),为了在函数外部读取局部变量,所以就有了闭包。 闭包的作用 1.访问其他函数内部变量 2.保护变量不被内存回收机制回收 3.避免全局变量被污染 方便调用上下文的局部变量 加强封装性 闭包的缺点 闭包长期占用内存,内存消耗很大,可能导致内存泄露 闭包示例代码 function outer(){ var m = 2 ; function inner(){ console.log(m) } return inner; } let func = outer(); func() // 打印2 注意事项,如若操作不当,可能会导致内存泄漏。 什么是内存泄漏 首先,需要了解浏览器自身的内存回收机制。 每个浏览器会有自己的一套回收机制,当分配出去的内存不使用的时候便会回收;内存泄露的根本原因就是你的代码中分配了一些‘顽固的’内存,浏览器无法进行回收,如果这些’顽固的’内存还在一直不停地分配就会导致后面所用内存不足,造成泄露。 闭包造成内存泄漏 因为闭包就是能够访问外部函数变量的一个函数,而函数是必须保存在内存中的对象,所以位于函数执行上下文中的所有变量也需要保存在内存中,这样就不会被回收,如果一旦循环引用或创建闭包,就会占据大量内存

jquery AJAX 拦截器 success error

守給你的承諾、 提交于 2021-02-12 12:03:43
在和后端数据交互的时候有些时候会遇到一些有权限的接口, 后端没有设置Status Code,返回的是Status Code:200,jquery的ajax就会进入到success方法里。 需要每个接口手动判断,就会显得很繁琐,大量的代码冗余。 上一篇博客自己写了个钩子函数,这篇就做了应用,不会用的去我上篇博客看下。 下面这些代码就解决了这个问题: <script src="http://www.melaolao.com/test/work/js/jquery-3.3.1.js"></script> <script src="http://www.melaolao.com/test/work/js/hook.js"></script> <script> //先钩了 jquer的ajaxSetup,因为在调用 $.ajax()会执行一次$.ajaxSetup() setHook($, "ajaxSetup", function () { var settings=arguments[1]; if(settings){//判断是否是调用$.ajax()触发的jquer.ajaxSetup函数。 //settings是调用$.ajax()传的参数 //这里hook用到的函数 例子是 success ,error if(settings.success){ //这里再钩了success方法

Divide semi circle with stroke-dasharray and on active color fill

孤者浪人 提交于 2021-02-12 11:17:08
问题 I'm working on an SVG gauge meter here I want to divide the semi-circle into parts when the range slider move on active stroke fill with gradient color. And want to add one more black color running track when the meter needle moves. I had tried using stroke-dasharray but after adding this all colors are coming at a time meter is not working properly. I want to divide the semi-circle into parts when the range slider move on active stroke fill with gradient color And I want to add one more

Divide semi circle with stroke-dasharray and on active color fill

 ̄綄美尐妖づ 提交于 2021-02-12 11:15:16
问题 I'm working on an SVG gauge meter here I want to divide the semi-circle into parts when the range slider move on active stroke fill with gradient color. And want to add one more black color running track when the meter needle moves. I had tried using stroke-dasharray but after adding this all colors are coming at a time meter is not working properly. I want to divide the semi-circle into parts when the range slider move on active stroke fill with gradient color And I want to add one more

Python爬取王者荣耀全套皮肤

人走茶凉 提交于 2021-02-11 20:50:23
一、分析需要爬取的网站 ①、打开官方王者荣耀壁纸网站 网站地址:https://pvp.qq.com/web201605/wallpaper.shtml ②、快捷键F12,调出控制台进行抓包 ③、找到正确的链接并分析 ④、查看返回数据格式 ⑤、解析url链接 ⑥、查看url内容是否是所需图片,发现其实是缩略图 ⑦、那就去分析网站,随便点开一张壁纸,查看指定格式的链接 ⑧、找到目标地址 ⑨、分析目标链接和缩略图的链接区别 缩略图:http://shp.qpic.cn/ishow/2735090714/1599460171_84828260_8311_sProdImgNo_6.jpg/200 目标图:http://shp.qpic.cn/ishow/2735090714/1599460171_84828260_8311_sProdImgNo_6.jpg/0 可以知道,将指定格式的缩略图地址后面200替换成0就是目标真实图片 二、爬虫代码 ①、至此,爬虫分析完成,爬虫完整代码如下 #!/usr/bin/env python # encoding: utf-8 ''' #------------------------------------------------------------------- # CONFIDENTIAL --- CUSTOM STUDIOS #--------

用nodejs搭建代理服务器

邮差的信 提交于 2021-02-11 20:34:35
题图 From 极客时间 From Clm 前端开发者在工作中常常遇到跨域的问题,一般我们遇到跨域问题主要使用以下办法来解决: 1、jsonp 2、cors 3、配置代理服务器。 jsonp不是很灵活,只能发送get请求,不能发送psot请求,而cors虽然可以支持多种请求格式,但是如果请求携带cookie的话,还需要服务端和客户端分别配置一下,个人感觉也很麻烦。 相对于前两种,使用代理服务器解决跨域问题就简单了好多。 浏览器由于同源策略的原因,不同域名之间发送ajax请求,响应的数据不会被浏览器加载。而服务器向服务器发送请求则没有同源策略的限制。 下图便是代理服务器的原理了: 代理服务器只是起一个中转作用,配置代理服务器的方法有很多种,比如利用apache、nginx、tomcat等等,今天给大家介绍的是用nodejs配置代理服务器,用nodejs配置代理服务器,我们需要借助两个npm包,一个是web开发框架 express ,一个是express中间件 http-proxy-middleware 。 首先第一步我们先用express搭建两个服务器,一个静态资源服务器端口号为3000,一个接口服务器端口号为5000,静态资源服务器代码如下: var express = require ( 'express' ); var app = express(); app.use