- 博客(18)
- 收藏
- 关注
原创 this在js中的存在形式
1)在单独使用时,this指的就是全局对象也就是window。(2)在严格模式下,this也指向window对象。函数中的this指向的也同样是window。方法中的this指向这个方法的调用者。this指向新创建的那个对象。
2022-07-21 22:58:40 138
原创 构造函数、包装类
按道理是a不是对象没有属性的,但是这里也隐式的进行了一个操作。newNumber(11).word=c;但是后面如果没用到这个属性,属性会被自动销毁,下次要用到又得重新new一个。原始值一共有六类,分别是Number、String、Boolean、Undefined、Null,Symbol(es6)类型,原始值并不是对象,所以没有属性。构造函数赋值都会用到this得原因是对象会隐式创建一个this对象最后再隐式返回this。1.构造函数得内部原理。...
2022-07-17 22:03:41 143
原创 对象、构造函数
要调用属性和方法时,直接对象.就好了,比如obj.name=liu;varobj=newPerson();可以这样直接创建对象。对象里面有属性和方法,都是采用键值对得形式,中间用冒号隔开。另一种是varobj=newobject();构造函数采用大驼峰命名法就是首字母也要大写。或者varobj=new构造函数。obj.eat()就是调用eat方法。构造函数也可以传参数,可进行赋值操作。对象有两种定义方法,一种是直接。...
2022-07-16 23:54:06 131
原创 闭包、立即执行函数
1、闭包先讲个例子function fn(){var aa=1;function fa(){console.log(aa);}return fa();}var demo=fn();console.log(demo);这里的demo接收的其实就是函数fa()。 函数fa()并没用运行,而是作为一个返回值返回给了函数fn()。函数fn()执行,创建执行期上下文Ao对象,然后fn执行完毕,AO被释放。但是fa()还没有执行,它保存着fn()的AO对象,也就可以运行demo函数,打印出aa。
2022-07-13 23:22:23 307
原创 作用域、作用域链解析
作用域是什么?字面意思来看,就是代码段中出现的一些变量,函数,对象等。当我们需要访问使用这些东西的时候,它要符合一定的规则,只能在特定的范围区域内进行使用。那什么是作用域链呢?在说这个作用域之前,先讲一下执行期上下文。所谓的执行期上下文就是我们函数在执行时所创建的一个环境,也就是GO和AO,GO是全局执行上下文,AO是局部执行上下文。scope是函数的一个属性,每个函数其实都是可以看作一个对象,[[scope]]就是一个作用域,存放的是函数的执行期上下文的集合,而这个集合呈链式连接。看个例子va
2022-07-12 23:07:56 72
原创 比较运算符、逻辑运算符
先说比较运算符大概就是上面这些运算符,看运算符怎么运算的,直接判断这个比较逻辑上是不是正确的,就比如4==3,很明显是正确的。结果是正确的,值是用布尔值表示的也就是true,如果不满足就是false。如果是两个字符串进行比较,则要分别把两个字符串转换为ascall码值进行比较再得到结果下面注意几个特别的数:undefined= =undefined 值是trueindefinitely= =indefinitely 也是trueNaN= = NaN 结果是false逻辑运算符一共就三种 :&
2022-07-11 23:22:53 588
原创 js中函数是什么、如何声明、形参、实参、返回值
js中函数两种表现形式1.命名函数表达式var sum=function abc(){}2.var sum=function (){}匿名函数表达式,这个用的多3.function test(){}参数function函数声明中的function test(a,b){}test(1,2)形参: 其中的a,b就是形参。而且这个形参并不需要定义,直接是默认var a,b。实参:这个test里面的1,2用实际数据表示的叫实参。实参个数并不一定要和形参个数一样,也可以是test(1,2,3).实参
2022-07-07 22:37:36 198
原创 switch语句、break与continue 数组、对象、 typeof()、显式类型转换和隐式类型转换
switch语句是条件语句的一种格式:switch(){case 1 :语句1;case “2” :语句2;}如果switch后面的括号里是以下case条件的一种,那就会执行这个case条件下的语句。但是有个问题,比如说switch(1)结果不单单会输出case1后面的语句,case2后面的语句也会输出来,也就是说switch语句是顺序执行的。所以我们需要在case1语句后面加个break,就会跳出这个switch循环。这里要区分以下break和continue的区别,break和contin
2022-07-06 23:04:27 296
原创 绝对定位和相对定位
当你想要实现一个效果就是一个div上面又盖了一个div,就要用到定位。用了相对定位和绝对定位之后呢,这个div就会在浏览器中像浮起来一样。而且你还可以设置这个div的移动位置,让这个div 任意处在这个网页中的任何位置。定义:relative:定位是相对于自身位置定位(设置偏移量的时候,会相对于自身所在的位置偏移)。设置了 relative 的元素仍然处在文档流中,元素的宽高不变,设置偏移量也不会影响其他元素的位置。最外层容器设置为 relative 定位,在没有设置宽度的情况下,宽度是整个浏览器的宽度。
2022-06-29 17:18:02 157
原创 BFC到底是什么
W3C官方解释为:BFC它决定了元素如何对其内容进行定位,以及与其它元素的关系和相互作用,当涉及到可视化布局时,Block Formatting Context提供了一个环境,HTML在这个环境中按照一定的规则进行布局。怎样触发BFC这里简单列举几个触发BFC使用的CSS属性overflow: hiddendisplay: inline-blockposition: absoluteposition: fixeddisplay: table-celldisplay: flexBFC的规则
2021-10-14 23:27:34 135
原创 html、 css基础笔记
05-web标准 P6 - 01:48web标准主要包括:结构(html)、表现(css)、和行为(行为)10-DOCTYPE和lang以及字符集的作用 P12 - 00:20文档类型声明,作用就是告诉浏览器使用哪种HTMl版本来显示网页 文档类型声明标签lang 语言种类charset字符集可以存储各种各样的文字常用的GB2312简体中文 BIG5繁体中文 GBK包含了简体中文和繁体中文utf-8万国码 最常用 如果没有写就会出现乱码16-div和span标签 P18 - 0
2021-10-09 18:26:07 632
原创 全局变量和局部变量
var a=10;function sum(){a=5;}alert(a);这里结果为10sum();这里的作用吧a给重新赋值alert(a);这里结果为5var a=10;function(){var a=5;alert(a);结果5}alert(a);结果10sum();alert(a);结果10总结这里是作用域的作用:全局作用域:全局作用域声明的变量为全局变量局部作用域 函数局部作用域声明的变量为局部变量,局部变量的生命周期和生效范围,都是声明该变量的函数区域
2021-06-16 21:04:30 84
原创 arguments的作用
计算所有传入参数的和,具体多少参数不确定的时候会用到arguments【注】在每一个函数内,都有一个内置的数组,是一个变量,叫做arguments。1.arguments可以存储当前函数传入的所有参数,而且,是通过传参的顺序,进行排列的。2.arguments.length输入传入参数的个数3.访问arguments里面的数据,需要通过对应的房间号/下标进行访问。...
2021-06-16 20:28:36 618
原创 break和continue的区别
break直接跳出当前循环continue语句,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。
2021-06-15 23:48:51 59
原创 比较运算符
一.关系运算符中操作数为非数字时要遵从一下规律:1.如果两个操作数都是数值,则数值比较。2.两个操作数都是字符串,则比较两个字符串对应的字符编码值,也就是ASCLL码值,像a和b之间比较a的ascll码值是97,b是98,则a>b的值为false。如果不是单个字符,是一串,则逐位进行比较,知道比较出大小,终止比较3.两个操作数有一个是数值,则将另一个转换成数值,再进行比较。二.在等于和不等于的比较上,如果操作数为非数值,则遵从以下规律:1.一个操作数为布尔值,则比较之前将其转换成数值,fa
2021-06-15 23:03:17 533
原创 js基础_强制类型转换
任何其他数据类型除了和字符串做相加操作外,与数字类型做算数运算的时候,其他数据类型都会自动转换成数字。布尔值:true=>1 false=>0特殊数据类型中:null=>0 undefined=>NaN强制类型转换有一下四种方式:1.通过Boolean() 进行强制转换,举个例子:var tmp=Boolean(1),这里tmp的值是true,所有非0的数字转换成布尔值都为true;空字符串转换成布尔值为false,所有非空字符串为true;null和undefi
2021-06-15 20:41:11 239
原创 js基础_自动数据转换
1.任何类型的数据和字符串类型数据做相加操作的时候,其他数据类型会自动转换成为字符串类型。字符串拼接。此时的相加操作不再是数学意义上的加法,而是表示拼接的意思。2.任何数据除了和字符串做相加运算外,先要将字符串转换成数字进行运算<1>.与NaN做算数运算的结果始终都是NaN,包括NaN本身和NaN做运算结果也为NaN<2>.字符串如果是纯数字,则字符串转换成数字,否则转换成NaN表达式:运算符和操作数组成的式子,叫做表达式...
2021-06-15 19:52:09 134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人