自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 js的this详解(后面有题目和我自己的想法,方便理解)

1、对象中的方法中的this,指向调用它的对象,即 b ,所以 this.a 的输出结果是b对象中的a的值; 如果b对象中没有a,则this.a的输出结果是 undefined。var o = { a: 10, b: { a: 12, fn: function(){ console.log(this.a); // 输出结果是 12 console.log(this); // 输出结果是 b 对象

2021-08-22 15:23:36 471 2

原创 js的getter和setter的基础详解

getter和setter**get**语法将对象属性绑定到查询该属性时将被调用的函数。当尝试设置属性时,**set**语法将对象属性绑定到要调用的函数。说白了就是:get就是:要查询的属性中有get的语法,就会调用它们绑定的函数。例如:var obj ={ a:3, get b(){ return this.a*3 }}console.log(obj.b) //9//这里使用get语法,给属性b绑定一个回调函数,这个函数只有在要访问对象里的这个属性时

2021-08-17 16:13:18 3476

原创 js循环遍历的各种方法和区别

循环遍历的各种方法和区别循环遍历的各种方法1.while循环While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。语法:while (条件) {语句}2.do…while循环do…while循环与while循环类似,唯一的区别就是先运行循环体,然后判断循环条件。语法:do{语句}while(条件)3.for循环例如:var arr= [1,2,3,4,5,6]for(var i=0;i<arr.length;i++){ console.log(a

2021-08-10 16:12:29 547 1

原创 数据属性与访问器属性

数据属性与访问器属性主要是用在defineProperty这个方法中JavaScript中定义了两种不同的属性:数据属性和访问器属性。数据属性一般用于存储数据数值,而访问器属性一般进行get/set操作,不能直接存储数据数值。在ES5中,我们为了描述属性(property)的各种特征,定义了特性(attribute)。在JavaScript中不能直接访问特性,我们把它放在两对方括号中,例如[[Enumerable]]。数据属性数据属性主要有四个特性描述其行为:[[Configurable]]

2021-08-07 11:00:12 266

原创 js对象的方法

Object.assign()对象的复制和合并var obj1 ={a:1};var obj2 = Object.assign({},obj1);//这是深拷贝//相当于先创建一个空对象,然后将obj1里的内容给空对象,然后将空对象的地址给obj2(这个给地址不一定是这个顺序顺序,但是没影响,地址一直都是这个地址)var obj3 = {b:2};var obj4 = Object.assign(obj3,{})//这是浅拷贝//相当于给obj3添加了一个空的值,然后再将obj3的地址给obj

2021-08-05 17:20:08 151 1

原创 基本类型和引用类型

js变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段,而引用类型值指的是那些可能由多个值构成的对象。注意:在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值,然后根据类型来决定是开辟一个堆内存还是栈内存。基本类型:基本类型的值是保存在栈中的,实际上每一次变量赋值都是在往栈中放入数据和变量。在我的理解中,实际上变量存的其实是一个变量名和一个地址,这个地址指向变量保存的数据在栈中的位置。var a = 1;var b = a;a++;//这

2021-08-04 15:28:27 162 1

原创 函数和函数的递归和闭包

函数的定义(函数的声明)语法function 函数名(参数1,参数2,...){ //函数将要执行的语句}//这叫函数声明//也可以这样写var f = function(参数1,...){...}//这也叫做函数表达式的方式。//这样写的话f就为函数名,function(参数1,...){...}也称为匿名函数//函数表达式也可以提供函数名,并且可以用于在函数内部代指其本身,或者在调试器堆栈跟踪中识别该函数://例如:实现n的阶层的函数const factorial = fu

2021-08-03 07:42:47 197 3

原创 ES6之Set和Map

Set和Map数据结构SetSet是es6的新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构用法:const s = new Set();[1,2,3,3,2,1,6].forEach(x => s.add(x));for(let i of s){ console.log(i);//1 2 3 6}上面代码通过add()方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。Set函数可以接受

2021-08-01 08:48:07 138

原创 js的遍历器(Iterator)

js的遍历器(Iterator)是什么JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种统一的接口机制,来处理所有不同的数据结构。遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次

2021-07-30 09:01:32 933 1

原创 正则表达式

正则表达式语法普通字符普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号字符描述[…]匹配[…]中的所有字符。例如 [aeiou] 匹配字符串 “google runoob taobao” 中所有的 e o u a 字母。[^…]匹配除了 […] 中字符的所有字符,例如 [^aeiou] 匹配字符串 “google runoob taobao” 中除了 e o u a 字母的所有字母。[A-Z

2021-07-28 22:44:06 783

原创 有关数组的方法

有关数组的方法concat()方法语法:array1.concat(array2,array3,...,arrayX)concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。参数:arryX。必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。返回值:Array对象.返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,

2021-07-27 22:18:23 163

原创 有关字符串的方法

有关字符串的方法indexOf()方法返回调用它的字符串的第一次出现指定值的索引,区分大小写。语法:str.indexOf(searchVal , fromIndex)接收两个参数:1、searchVal 要查找的字符串,如果不传,默认是‘undefined’2、fromIndex 数字下标,即从字符串指定位置开始查找,默认值是0,即从下标0出开始查找,可不传返回值:返回查找的字符串第一次出现的索引,如果没有找到,则返回-1.'Gary lalala'.indexOf('la') //返回

2021-07-26 22:55:26 147

原创 深拷贝和浅拷贝的方法

深拷贝和浅拷贝的方法浅拷贝比较简单,一般只要直接把想要拷贝的引用数据类型给要保存的变量就行,因为保存有引用数据类型的变量里的值其实是引用数据类型的地址,等于说只是传了地址而已,它们指向的是同一个引用数据类型。也就是说只要有一个变量改变了引用数据类型的值,另外一个变量也会跟着变。而深拷贝相当于就是重新在内存空间新建一个,然后将想要拷贝的内容保存在这个内存中。方法一:用es6的对象方法:Object.assign()var obj1 = {a:1,b:2}var obj2= Object.assig

2021-07-23 16:50:10 1669 1

原创 css基础笔记7-页面的基本制作

页面布局整体思路1.必须确定页面的版心(可视区),我们测量可得知。2.分析页面中的行模块,以及每个行模块中的列模块。页面布局第一准则。3.一行中的列模块经常浮动布局,先确定每个列的大小,之后确定列的位置。页面布局第二准则。4.制作HTML结构。遵循先有结构,后有样式的原则。结构永远最重要。5.所以,先理解布局结构,再写代码尤为重要,这需要我们多写多积累。最好做一个专门居中且宽度固定的类,因为整个网页需要一个整齐的布局,这个类可以更好的布局页面,这也叫做版心头部制作先要有一个大

2021-07-21 23:12:33 186

原创 css基础笔记6-一些常用属性和技巧

display属性display属性用于设置一个元素应如何显示display:none;隐藏对象。隐藏元素后,不再占有原来的位置。display:block;除了转换为块级元素之外,同时还有显示元素的意思。visibility可见性用于指定一个元素应可见还是隐藏visibility:visible;元素可视visibility:hidden;元素隐藏,隐藏元素后,继续占有原来的位置。overflow溢出overflow属性指定了如果内容溢出一个元素的框(超过其指定高度及宽

2021-07-20 22:58:46 99

原创 css基础笔记5-定位

定位定位=定位模式+边偏移定位模式用于指定一个元素在文档中的定位方式。边偏移则决定了该元素的最终位置。静态定位静态定位是元素的默认定位方式,无定位的意思语法:选择器{position:static;}静态定位按照标准流特性摆放位置,它没有边偏移相对定位语法:选择器{position:relative;}相对定位是元素在移动位置的时候,是相对它原来的位置来移动位置的,参照点是自己原来的位置。注意:相对定位移动后,它原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式

2021-07-19 20:57:21 154 1

原创 css基础笔记4-浮动

浮动浮动可以让多个块级元素一行内排列显示网页布局第一准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动浮动特性浮动元素会脱离标准流(脱标):脱离标准普通流的控制(浮)移动到指定位置(动)。浮动的盒子不再保留原先的位置,并且在标准流中不再占有位置(也就是不会撑大父盒子的大小)。可以理解为标准流的元素在地上,而浮动的盒子在天上,浮动的盒子相当于在地上没有位置,地上的元素布局不会考虑到天上的,对地上的来说,布局的时候天上的相当于不存在,但是天上的会遮住地上的。浮动的元.

2021-07-18 21:18:52 216

原创 css基础笔记3-盒子模型

盒子模型边框border:border-width border-style border-color定义边框粗细,单位是px。边框的样式(dashed虚线,dotted点线)。边框颜色。边框可以分开写用border-top等表格一个table就是相当于一个div,里面的每一个单元格相当于行内块元素的小div。如果给每个td一个边框会造成相邻的两个边框会加在一起,要解决这个问题需要:border-collapse:collapse;表示相邻边框合并在一起。边框会直接影响div的大

2021-07-17 21:21:53 181

原创 css基础笔记2(自用)

字体属性font-family设置字体系列,像font-family:"微软雅黑";font-size设置字体大小,标题标签比较特殊,需要单独指定文字大小font-weigh设置字体粗细,也可以用<b>标签和<strong>标签来加粗,很重要的用<strong>粗体:bold。特粗体:bolder。lighter:细体。正常字体:normal。也可以用数字:700相当于bold,400相当于normal,数字后面不加单位font-sty

2021-07-16 21:45:12 106

原创 css3基础1-选择器

选择器标签选择器选择所有被选中的标签缺点:不能设计差异化样式,只能选择全部的当前标签优点:能快速为页面中同类型的标签统一设置样式类选择器样式点定义,结构类(class)调用 只要有该类名就都被选中.className{}注意:不要使用纯数字,中文等命名,类名尽量见名知意多类名类名之间加一个空格即可,如果类名的属性产生冲突,并不是根据html中类名的顺序来决定DOM元素的属性,而是根据css样式中的顺序来决定DOM元素的属性,它取决于css样式表中后读取到的属性。i

2021-07-15 21:02:32 104

空空如也

空空如也

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

TA关注的人

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