- 博客(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 456 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 3439
原创 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 522 1
原创 数据属性与访问器属性
数据属性与访问器属性 主要是用在defineProperty这个方法中 JavaScript中定义了两种不同的属性:数据属性和访问器属性。数据属性一般用于存储数据数值,而访问器属性一般进行get/set操作,不能直接存储数据数值。在ES5中,我们为了描述属性(property)的各种特征,定义了特性(attribute)。在JavaScript中不能直接访问特性,我们把它放在两对方括号中,例如[[Enumerable]]。 数据属性 数据属性主要有四个特性描述其行为: [[Configurable]]
2021-08-07 11:00:12 255
原创 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 141 1
原创 基本类型和引用类型
js变量可能包含两种不同数据类型的值:基本类型值和引用类型值。 基本类型值指的是简单的数据段,而引用类型值指的是那些可能由多个值构成的对象。 注意:在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值,然后根据类型来决定是开辟一个堆内存还是栈内存。 基本类型: 基本类型的值是保存在栈中的,实际上每一次变量赋值都是在往栈中放入数据和变量。在我的理解中,实际上变量存的其实是一个变量名和一个地址,这个地址指向变量保存的数据在栈中的位置。 var a = 1; var b = a; a++;//这
2021-08-04 15:28:27 156 1
原创 函数和函数的递归和闭包
函数的定义(函数的声明) 语法 function 函数名(参数1,参数2,...){ //函数将要执行的语句 }//这叫函数声明 //也可以这样写 var f = function(参数1,...){...}//这也叫做函数表达式的方式。 //这样写的话f就为函数名,function(参数1,...){...}也称为匿名函数 //函数表达式也可以提供函数名,并且可以用于在函数内部代指其本身,或者在调试器堆栈跟踪中识别该函数: //例如:实现n的阶层的函数 const factorial = fu
2021-08-03 07:42:47 185 3
原创 ES6之Set和Map
Set和Map数据结构 Set Set是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 127
原创 js的遍历器(Iterator)
js的遍历器(Iterator)是什么 JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种统一的接口机制,来处理所有不同的数据结构。 遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次
2021-07-30 09:01:32 907 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 748
原创 有关数组的方法
有关数组的方法 concat()方法 语法:array1.concat(array2,array3,...,arrayX) concat() 方法用于连接两个或多个数组。 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 参数:arryX。必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。 返回值:Array对象.返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,
2021-07-27 22:18:23 154
原创 有关字符串的方法
有关字符串的方法 indexOf()方法 返回调用它的字符串的第一次出现指定值的索引,区分大小写。 语法:str.indexOf(searchVal , fromIndex) 接收两个参数: 1、searchVal 要查找的字符串,如果不传,默认是‘undefined’ 2、fromIndex 数字下标,即从字符串指定位置开始查找,默认值是0,即从下标0出开始查找,可不传 返回值:返回查找的字符串第一次出现的索引,如果没有找到,则返回-1. 'Gary lalala'.indexOf('la') //返回
2021-07-26 22:55:26 135
原创 深拷贝和浅拷贝的方法
深拷贝和浅拷贝的方法 浅拷贝比较简单,一般只要直接把想要拷贝的引用数据类型给要保存的变量就行,因为保存有引用数据类型的变量里的值其实是引用数据类型的地址,等于说只是传了地址而已,它们指向的是同一个引用数据类型。也就是说只要有一个变量改变了引用数据类型的值,另外一个变量也会跟着变。 而深拷贝相当于就是重新在内存空间新建一个,然后将想要拷贝的内容保存在这个内存中。 方法一:用es6的对象方法:Object.assign() var obj1 = {a:1,b:2} var obj2= Object.assig
2021-07-23 16:50:10 1642 1
原创 css基础笔记7-页面的基本制作
页面布局整体思路 1.必须确定页面的版心(可视区),我们测量可得知。 2.分析页面中的行模块,以及每个行模块中的列模块。页面布局第一准则。 3.一行中的列模块经常浮动布局,先确定每个列的大小,之后确定列的位置。页面布局第二准则。 4.制作HTML结构。遵循先有结构,后有样式的原则。结构永远最重要。 5.所以,先理解布局结构,再写代码尤为重要,这需要我们多写多积累。 最好做一个专门居中且宽度固定的类,因为整个网页需要一个整齐的布局,这个类可以更好的布局页面,这也叫做版心 头部制作 先要有一个大
2021-07-21 23:12:33 168
原创 css基础笔记6-一些常用属性和技巧
display属性 display属性用于设置一个元素应如何显示 display:none;隐藏对象。隐藏元素后,不再占有原来的位置。 display:block;除了转换为块级元素之外,同时还有显示元素的意思。 visibility可见性 用于指定一个元素应可见还是隐藏 visibility:visible;元素可视 visibility:hidden;元素隐藏,隐藏元素后,继续占有原来的位置。 overflow溢出 overflow属性指定了如果内容溢出一个元素的框(超过其指定高度及宽
2021-07-20 22:58:46 90
原创 css基础笔记5-定位
定位 定位=定位模式+边偏移 定位模式用于指定一个元素在文档中的定位方式。边偏移则决定了该元素的最终位置。 静态定位 静态定位是元素的默认定位方式,无定位的意思 语法:选择器{position:static;} 静态定位按照标准流特性摆放位置,它没有边偏移 相对定位 语法:选择器{position:relative;} 相对定位是元素在移动位置的时候,是相对它原来的位置来移动位置的,参照点是自己原来的位置。 注意:相对定位移动后,它原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式
2021-07-19 20:57:21 146 1
原创 css基础笔记4-浮动
浮动 浮动可以让多个块级元素一行内排列显示 网页布局第一准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动 浮动特性 浮动元素会脱离标准流(脱标):脱离标准普通流的控制(浮)移动到指定位置(动)。浮动的盒子不再保留原先的位置,并且在标准流中不再占有位置(也就是不会撑大父盒子的大小)。可以理解为标准流的元素在地上,而浮动的盒子在天上,浮动的盒子相当于在地上没有位置,地上的元素布局不会考虑到天上的,对地上的来说,布局的时候天上的相当于不存在,但是天上的会遮住地上的。 浮动的元.
2021-07-18 21:18:52 211
原创 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 166
原创 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 101
原创 css3基础1-选择器
选择器 标签选择器 选择所有被选中的标签 缺点:不能设计差异化样式,只能选择全部的当前标签 优点:能快速为页面中同类型的标签统一设置样式 类选择器 样式点定义,结构类(class)调用 只要有该类名就都被选中 .className{} 注意:不要使用纯数字,中文等命名,类名尽量见名知意 多类名 类名之间加一个空格即可,如果类名的属性产生冲突,并不是根据html中类名的顺序来决定DOM元素的属性,而是根据css样式中的顺序来决定DOM元素的属性,它取决于css样式表中后读取到的属性。 i
2021-07-15 21:02:32 100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人