自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

France_CG

多多指教

  • 博客(34)
  • 收藏
  • 关注

原创 css垂直居中

1.固定定位  通过固定的值来进行居中定位2.position+定位1 position:absolute;2 left:50%;3 top:50%;4 margin-left:元素宽的1/25 margin-top:元素高的1/23.flex布局display:flex;justify-content:center;align-items:center;flex的兼容性不太行。4.table-celldisplay: table-cell;vertica

2021-07-12 11:05:02 92

原创 块级元素和行内元素

块级元素:  1.display为block  2.会独占一行,导致换行  3.可以设置宽高  4.margin外边距设置都有效  5.padding内填充都有效  6.可以容纳行内元素和块级元素,也可以容纳内联元素和其他元素  7.两者可以通过display来互相转换  8.举例:div p h1-h6 table form ul ol dl 等等行内元素:  1.display为inline  2.会与其他元素排列在一行上  3.不可设置宽...

2021-07-12 11:03:46 104

原创 css元素隐藏

元素隐藏方法:1.display:none;2.opacity:0;3.visibility:hidden;4.position:absolute;left:无穷大方法1,2,3的区别:1.空间占据  display:none  隐藏后不会占据额外的空间,但是它会产生回流和重绘  opacity:0,visibility:hidden  隐藏后仍然会占据着空间,只会产生页面重绘2.子元素继承  display:none  不会被子元素继承,但是父元素已经消除了,子元

2021-07-12 11:02:56 133

原创 css盒子模型

  有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。下面的图片说明了盒子模型(Box Model):Margin(外边距)- 清除边框外的区域,外边距是透明的。Border(边框)- 围绕在内边距和内容外的边框。Padding(内边距)- 清除内容周围的区域,内边距是透明的。C...

2021-07-12 11:01:52 65

原创 JavaScript:常用正则表达式

var alphnumon=/\d{3,}/; 验证3个连续的数字 var alph1=/[a-zA-Z]{3,}/; 验证3个连续的字母var formID = "form_one";/* 验证的正则表达式 */var regExp = {/*用户名要求 数字、字母、下划线的组合,其中数字和字母必须同时存在*/ name : /^(?![^A-Za-z]+$)(?![^0-9]+$)[0-9A-Za-z_]{6,12}$/, /*密码:8-12位,由字母数字下划线组成 */ pwd : /

2021-05-12 10:33:14 52

转载 JavaScript 将数组转化为字符串

JavaScript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串toString() 将数组转换成一个字符串var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组var s = a.toString(); //把数组转换为字符串console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”console.log(typeof s); //返回字符串string,说明是字符串类型t

2021-04-21 22:39:22 559

原创 JavaScript 欧几里得算法/辗转相除法

辗转相除法又名欧几里得算法(Euclidean algorithm)目的是求出两个正整数的最大公约数。它是已知最古老的算法,其可追溯至公元前300年前。这条算法基于一个定理:两个正整数 a 和 b(a 大于 b),它们的最大公约数等于 a 除以 b 的余数 c 和 较小数 b之间的最大公约数。2个数相除,得出余数 如果余数不为0,则拿较小的数与余数继续相除,判断新的余数是否为0 如果余数为0,则最大公约数就是本次相除中较小的数。function gcd(a,b){ return b==.

2021-04-21 17:11:48 431

转载 JavaScript 排序算法汇总(重点!)

什么是数据结构?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关...

2021-04-21 16:27:12 594 1

原创 前端面试题3

为什么学前端?因为我大学本科是计算机专业,所以还算是对计算机比较了解,前端是自己无意中接触到的,然后越来越感兴趣,再加上前端的发展前景还不错,所以就坚毅的自学起前端来了网页上哪里可以看到请求的所有信息找到开发者调试模式,打开浏览器按下F12键,然后访问你的网址,在调试面板下方network选项下可查看当前页面发出的所有请求...

2021-04-21 15:58:31 335

原创 JavaScript获取年月日时分秒

var date = new Date();//实例一个时间对象;var year = date.getFullYear();//获取系统的年;var month = date.getMonth()+1;//获取系统月份,由于月份是从0开始计算,所以要加1var day = date.getDate();获取系统日var hour = date.getHours();//获取系统时间var minute = date.getMinutes(); //分var second = date.getS

2021-04-21 15:24:22 203

转载 HTTP协议详解

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。一、HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通.

2021-04-18 11:29:18 230

原创 前端面试题2

1.编写程序使用ES6定义 Person类,包括类实例属性(name,age),实例方法say()该方法,返回name和age字符串2.下面程序执行结果为: var p=new Person(); console.log(p.__proto__===Person.prototype) 答案:true3.下面程序正确吗?错在哪里?如何改正?class Point { constructor(x, y) { this.x = x; this.y = y; }}

2021-04-18 10:28:44 147

原创 npm基础知识

es6模块化客户端不兼容,只能运行在服务器上或者转化才可以但是有了node这个平台的话,es6就可以运行在服务器环境下node环境下执行文件,即在node环境中执行该文件:在命令行中用:node+文件名,实现npm:npm -> 包管理工具:npm(node package manager)之前的开发不利于进行包(库文件、框架)管理,因为每个包可能是不同版本的,如果合作开发的时候,每个人都可能按照自己的喜好使用某类版本,可能会导致项目代码冲突或者代码崩溃npm相对于把所有的包放.

2021-04-17 10:59:17 168

原创 命令行相关知识

1、打开命令行按住shift后,点击鼠标右键win+R后,搜索cmd直接搜索cmd2、基本指令绝对路径与相对路径的区别: 以 / 开头的路径就是绝对路径,不是这种开头的就是相对路径。 Windows 系统中,Git Bash可以兼容Linux的命令,而 cmd 不可以兼容。因此有些命令在 cmd 中无法运行。一些基本的符号含义:~:用户目录/:根路径,即整个系统.:所在当前目录…:父级目录,即当前目录的上级目录$:提示符,提示可以输入命令了tab键 —— 补全命令回车键

2021-04-17 09:11:05 241

原创 JavaScript的call、apply、bind

this指向问题:普通函数中的this:指向window事件函数中的this:指向事件源构造函数中的this:指向实例对象具体对象中的this:指向当前对象call、apply、bind能修改函数的this指向var stu={ name:'zs'}function fn(){ console.log(this); //正常情况下this指向window //怎么让this指向stu对象?}fn();//call调用fn函数,修改this指向//参数1:this所要指.

2021-04-16 10:17:21 52

原创 前端面试题1

1、var和let区别?ES6 新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束。先看个var的常见变量提升的面试题目:题目1:var a = 99; // 全局变量af(); // f是函数,虽然定义在调用的后面,但是函数声明会提升到作用域的顶部。 console.log(a); // a=>99, 此时是全局变量的afuncti

2021-04-15 09:41:27 71

原创 ES6基础知识

一、模板字符串在变量和常量拼接的时候使用,整个字符串使用${变量}:var tag = document.createElement('li');tag.innerHTML = ` <img src="" alt=""> <p>${变量}</p>`;father.appendChild(tag);标签模板,模板字符串不仅可以按照上面这种方式使用,还可以跟在一个函数后面,则表示该函数将被调用来处理找个模板字符串alert(123);等价于=alert

2021-04-13 14:44:12 131

转载 什么是js闭包?

一、闭包是什么?闭包(closure)就是能够读取其他函数内部变量的函数。在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成 “定义在一个函数内部的函”。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。(闭包的最典型的应用是实现回调函数(callback) )。二、JS中闭包的优缺点及特性→ 优点:      1.保护函数内的变量安全    2.在内存中维持一个变量(用的太多就变成了缺点,占内存) ;    3. 逻辑连续,当闭包作为另一个函数调用的参数时,

2021-04-13 13:32:10 4254

原创 JavaScript的DOM和BOM

DOM 是为了操作文档出现的 API,document 是其的一个对象;BOM 是为了操作浏览器出现的 API,window 是其的一个对象。BOM是浏览器对象模型,DOM是文档对象模型,前者是对浏览器本身进行操作,而后者是对浏览器(可看成容器)内的内容进行操作...

2021-04-13 12:53:43 46

转载 html网页渲染的基础过程

渲染过程其实就是将URL对应的各种资源,通过浏览器渲染引擎的解析,输出可视化:HTML/CSS/Javascript ->浏览器渲染引擎->图像渲染模块:从图中可以看出,一个渲染引擎大致包括HTML解释器,CSS解释器,布局和JavaScript引擎。HTML解释器:解释HTML语言的解释器,本质是将HTML文件解释成DOM树(文档对象模型)CSS解释器:解释样式表的解释器,作用是将DOM中的各个元素对象加上样式信息,从而为计算最后结果的布局提供依据。布局:将DOM和CSS样.

2021-04-13 12:50:25 108

原创 JavaScript的get和set

var circle={ r:20, //get 方法名 获取值 get acr(){ return Math.PI*this.r*this.r; }, //set 方法名 设置值 set acr(value){ this.r = value; }}console.log(circle.acr);//获取值circle.acr = 100;//设置值

2021-04-13 00:29:44 47

原创 JavaScript的属性特征

var stu={ name:'zs', age:12}//普通方法创建对象,属性可以直接修改stu.name = 'xs';//属性可以直接遍历for(var i in stu){ console.log(i,stu[i]);}//定义属性特征,特殊情况才会使用Object.defineProperty(stu,'password',{ value:123,//属性值 writeable:false,//是否可以被修改 enumerable:false,//是否可以被遍历

2021-04-13 00:29:34 47

原创 ES6的let和const

es8已经发布,但是还未普及es6是ECMAScript的扩展,已经普及letlet块级作用域:向上寻找距离该变量最近的‘{}’let不能重复声明,包括var的声明没有变量提升的概念暂时性死区:在一个代码块内,某个变量会绑定该区域,不再受外界的影响,let没有变量提升的概念,会形成暂时性死区,例子如下: let m=100; { console.log(m); let m=10; }分析下面的例题:let a=100;{ var a=10;}//上面等价于下面.

2021-04-13 00:29:17 45

原创 JavaScript变量提升

***********************//1.如果一个变量声明后,会把变量的声明提升到整个作用域的最前面,但是赋值还是原来的位置console.log(a); //报错var a = 10;//等价于var a;console.log(a);a = 10;**********************//2.如果一个变量没有声明直接赋值,作用域就是赋值以后的区域都可以使用console.log(a); //报错a = 10;***********************

2021-04-13 00:01:46 38

转载 JS笔记:JavaScript数组去重(12种方法)

一、ES6的Set去重(ES6中最常用)以下例子中都是以arr = [1,1,2,3,‘true’,‘true’,‘false’,‘undefined’,null,null,a,s,a,c,s,{},{}]为例function unique(arr){ return Array.from(new Set(arr));}不考虑兼容性,这种去重方法代码是最少的,但是无法去掉'{}'空对象二、for循环+splice去重(ES5中最常用)function unique(arr){ for(v

2021-04-12 16:52:09 84

转载 js的原型和原型链是什么?

js的原型和原型链是:1、原型模式是用于创建重复的对象,同时又能保证性能,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式;2、原型链是原型对象创建过程的历史记录,当访问一个对象的某个属性时,会先在这个对象本身属性上查找。js的原型和原型链是:JavaScript是一门基于原型的语言,在软件设计模式中,有一种模式叫做原型模式,JavaScript正是利用这种模式而被创建出来原型模式是用于创建重复的对象,同时又能保证性能,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方.

2021-04-12 16:42:55 1513

转载 什么是JavaScript的作用域链?

JavaScript里一切都是对象,包括函数。函数对象和其它对象一样,拥有可以通过代码访问的属性和一系列仅供JavaScript引擎访问的内部属性。其中一个内部属性是作用域,包含了函数被创建的作用域中对象的集合,称为函数的作用域链。作用域:作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。可以说,变量和函数在什么时候可以用,什么时候被摧毁,这都与作用域有关。JavaScript中,变量的作用域有全局作用域和局部作用域两种。1. 全局作用域(Global Scope).

2021-04-12 16:37:16 486

转载 JavaScript垃圾回收机制

1.概述JS的垃圾回收机制是为了以防内存泄漏,内存泄漏的含义就是当已经不需要某块内存时这块内存还存在着,垃圾回收机制就是间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。C#、Java、JavaScript有自动垃圾回收机制,但c++和c就没有垃圾回收机制,也许是因为垃圾回收机制必须由一种平台来实现。在JS中,JS的执行环境会负责管理代码执行过程中使用的内存。2. 变量的生命周期当一个变量的生命周期结束之后它所指向的内存就应该被释放。JS有两种变量,全局变量和在函数中产生的局部变量。局部

2021-04-12 16:32:43 60

原创 JavaScript统计字符串中字符个数以及出现最多的字符

题目很简单,直接上代码//将所有字符串中的字符值赋值为tmp数组的下标,出现次数为对应的值var text = "jfklsdjlfjklsdnfdsnl;j2lj3irnfd";//待统计的字符串var tmp = {};for(var i=0;i<text.length;i++){ if(tmp[text[i]]){ tmp[text[i]]++; }else{ tmp[text[i]]=1; }}//判断出现最多的字符,直接循环找var max = 0; //以max

2021-04-12 16:29:29 284

原创 css中display属性的值及作用

display 的属性值常用:none|inline|block|inline-block其他:list-item|run-in|table|inline-table|table-row-group|table-header-group|table-footer-group|table-row|table-column-group|table-column|table-cell|table-caption|inherit常用的有none、inline、block、inline-block。分别的意

2021-04-08 14:56:38 946

原创 JavaScript创建对象的几种方式

几种常见的创建对象的方式工厂方式创建对象(不常用):function student(name,age){ return{ name:name, age:age, nj:function(){ alert(this.name+"在读六年级"); //this指向当前对象 } }}//调用被封装的对象即可var stu = student('xxx',12);stu.nj();构造函数方式创建对象(不完善)//代码规范:首字母大写function Stu.

2021-04-08 10:37:21 69

转载 css区分px,em,rem,%

1、css实现垂直水平居中实现元素的垂直水平居中分为两种类型,一是未知宽高元素的垂直水平居中,一是已知宽高的垂直水平居中。方法一:已知宽高+position父元素:.father{ position:relative}.son{ position:absolute; top:50%; left:50%; margin-top:1/2子元素高度; margin-left:1/2子元素高度}方法二:已知宽高+计算(不推荐)这个方法就是强行计算根据父元素的宽高和子元素的宽高

2021-04-07 21:53:58 159

原创 JavaScript阻止冒泡事件和默认事件

阻止冒泡事件与默认事件什么是冒泡事件?例如,在应该按钮是绑定一个"click"事件,那么"click"事件会依次在它的父级元素中被触发防止冒泡和捕获w3c的方法是e.stopPropagation()IE的方法是e.cancelBubble = true//阻止冒泡window.event? window.event.cancelBubble = true : e.stopPropagation();取消默认事件w3c的方法是e.preventDefault()IE的方法是e.ret

2021-04-06 18:04:32 71

原创 JavaScript若干秒后调用某函数

JS中的thisthis的行为有时候会显得极其诡异,让人感到困惑,但只需要记住 this的值要等到代码真正执行时才能确定 同时this的值具体有以下几种情况: 1. new 调用时指的是被构造的对象 2. call、apply调用,指向我们指定的对象 3. 对象调用,如执行obj.b(),this指向obj 4. 默认的,指向全局变量window(相当于执行window.fun())在10秒后调用某函数要在10秒后调用checkState,下列哪个是正确的()window.setTimeo

2021-04-06 17:24:04 371

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除