03 2021 档案
摘要:在数组元素之间插入一个符号,数组元素连同符号形成一个字符串。 数组元素是null或undefined: 数组中有空位:
阅读全文
摘要:value对应一个属性的值 为对象属性进行赋值,就是为该属性的属性描述对象中的value属性赋值。 读取对象属性的值,就是读取该属性的属性描述对象中的value属性的值。
阅读全文
摘要:如何产生空位? 使用new Array(N+)创建数组,数组有N+个空位;length = N+ = empty个数 没有键名和键值
阅读全文
摘要:作用: 删除数组的最后一个元素 返回被删除元素 let a=[1,2]; a.pop(); //2[].pop(); //undefined
阅读全文
摘要:在数组尾部添加元素。 数组新增了元素。 a.push()这个语句本身被执行后产生的值是数组长度。
阅读全文
摘要:两个事物a,b。 b是a的复制品,在复制完成后,b就是独立的个体了,和a不再有关联。 这种复制更加彻底,在层次上显得更深,故而名曰深拷贝。 公用部分的存在与否,是问题的关键。
阅读全文
摘要:拷贝 拷贝的同义词是复制。 有一个事物A,通过A创建出B,这个过程就是复制。 拷贝的本质是重复。 拷贝的结果是相同。 没有绝对的相同。 大同而小异。 作为模板的,叫原对象。 新诞生的,叫新对象。
阅读全文
摘要:在堆中创建一个对象{n:1},变量a保存了此对象的地址 变量b同样保存了此对象的地址 a={n:2}此操作使变量a不在保存最初的地址,保存{n:2}这个对象的地址 a.x=? a.x=a={n:2}这个表达式执行后的结果: b指向的原始对象新增了一个属性x a的指向由原始对象变为新对象 表面上看起来
阅读全文
摘要:arguments是一个对象,包含了函数运行时的所有参数。 arguments是类数组对象。 非严格模式下,arguments可以在运行时被修改。 严格模式下,即使被修改了,也不影响传入时的参数。 callee属性:指向相对应的函数。
阅读全文
摘要:call的用途:指定函数运行时的环境,改变函数运行环境 f.call(obj):在obj环境下调用f函数,核心仍然是调用函数,但是要给函数指定环境,因为不同的环境会得到不同的结果。 不同的参数 一:空,null,undefined。等同于把全局对象window传入call。 二:原始值。创建出原始值
阅读全文
摘要:数组的键名是:0,1,2... 这里的键名,又叫做索引,为什么叫索引?不知道,不是我起的名字。 什么是序号? 上述数组的元素是1,2,3 日常生活中,我会称呼他们为:第一个元素,第二个元素,第三个元素。 这里的一,二,三就是序号。 一个元素的序号是索引加一。 数组的length的值是 = 最大序号
阅读全文
摘要:选取数组中的部分元素组成一个新数组,原数组不变,返回一个新数组。 参数:start,end 开始位置的索引,结束位置的索引 现在有一个数组是: let a=[1,2,3,4,5]; 我想把第二个元素到第四个元素之间的所有元素选出来组成一个新数组。 第二个元素对应的序号,2-1=1,1就是start的
阅读全文
摘要:参数列表:起始位置,要清空的数据格个数,要插入的一系列元素 一个参数: start 从start位置对应的元素开始,到数组最后一个元素,全部被删除 作用:删除包含某个位置在内的所有元素 两个参数: start 0:数组不变 start count(count不为0):从start位置起,删除coun
阅读全文
摘要:什么是人? 想必没人能一句话概括出来什么是人,从古至今,也没有。 什么是数组? 想必也没有办法去一句话概括,那么那些一句话就概括了数组的人又是怎么想的呢? 想通过一句话去解释数组的人,是不明智的; 想通过一句话去理解数组的人,同样是不明智的。 数组是容器: 可以存放各种数据,而且这些数据在数组中都有
阅读全文
摘要:在代码中写a.valueOf()和写a是一样的。 valueOf(): 返回参与运算的数组本身。
阅读全文
摘要:1 function F(name,age){ 2 this.name=name; 3 this.age=age; 4 5 } 6 F.prototype.sz=function (a,b){ 7 let addr=a+b; 8 let subr=a-b; 9 let mulr=a*b; 10 le
阅读全文
摘要:所有函数都有 [[Environment]] 隐藏属性,该属性保存了对创建该函数的词法环境的引用
阅读全文
摘要:词法环境对象无法直接获取到,是存在于脑海中的。 环境记录对象: 由局部变量组成 有时,局部变量可以视作是环境记录对象的属性 对外部词法环境的引用: 指向外部词法环境
阅读全文
摘要:一个函数存在于另一个函数之中: f2可称为内部函数。 在形式上,看起来像是把f2嵌套进f1之中,是一个嵌套者,而f1可以被视作“被嵌套者”,这种文义上的纠结大可不必。
阅读全文
摘要:代码块: 代码块,当然指的是一块代码! 其组成元素是一行行代码,为什么叫块?块又是由什么组成的? 大括号就是这些代码的围栏,就像是苹果的皮,香蕉的皮,作为与外部分界的事物而存在。 大括号连同存在于其中的代码一起,被叫做代码块。
阅读全文
摘要:小明他爸爸告诉小明: 手机真的是世界上最神奇的东西之一! 小明从来没见过手机,他很懵逼。 家里有一本新华字典,一个相册,一盒酸奶。 他先去字典里查手机的意思,看完之后,还是觉得不对。 于是他又问爸爸: 手机和酸奶一样大吗? 爸爸说:差不多。 小明还是一脸懵逼。 最后小明在相册里看到了爸爸手里拿的手机
阅读全文
摘要:明确某属性是否在某对象自身上 obj.hasOwnProperty('prop')
阅读全文
摘要:一个属性,可能存在于多个地方。 一:属性在对象自身上 二:属性在对象的原型上 三:属性在对象原型的原型上 使用对象的某个属性时,先从对象本身找,如果没有,就从对象的原型上找,如果还没有,就从对象原型的原型上找。 找到什么时候为止? 直到Object.prototype上也查无此法,就停下。
阅读全文
摘要:1 function Foo() { 2 this.value = 42; 3 } 4 Foo.prototype = { 5 method: function() {} 6 }; 7 8 function Bar() {} 9 10 // 设置Bar的prototype属性为Foo的实例对象 11
阅读全文
摘要:ES6规定: 可以在块级作用域中声明函数,块级作用域中声明的函数不可以被外部使用。 实际情况:
阅读全文
摘要:Promise是一个构造函数,它所创建的对象,就是Promise实例。 两个内部属性: state result
阅读全文
摘要:exectutor: function(resolve , reject) {} 在创建保证对象时自动运行。 抽象: 函数内部有一个秘密行动,这种行动有两种可能:成功或失败。 成功时,调用resolve函数;失败时,调用reject函数。
阅读全文
摘要:改变Promise对象的状态:pending ——>resolved 在异步操作成功时调用resolve函数,把异步操作的结果当做参数传递出去。 传递到哪去?
阅读全文
摘要:function f(){ var x=0; } var v=f;//作为变量的值 function f1(){ return f } //作为返回值 setTimeout(function() { console.log('hi'); },1000);//作为函数参数 可以为变量赋值 可以作为函数
阅读全文
摘要:任务可分为同步任务和异步任务。 任务队列: 是容器,存放了各种事件。 执行器先执行主线程中所有的同步任务,再执行任务队列中的异步任务。
阅读全文
摘要:狭义:能够读取其他函数内部变量的函数。(阮一峰) 使用闭包的目的: 使用某函数的内部变量 使得某些变量一直存在于内存之中
阅读全文
摘要:物理学家的目标就是发现规律,并实践。 篮球运动员的目标就是打好篮球,成为一个好球员。 既然踏足前端这个领域了,那么自己的目标应该是什么? 当然是前端专家,这有骄傲自大之嫌,但无可厚非。 也许五年?也许十年?世界的变化有多快,无人知晓。 但是,我的青春很宝贵,我不会白白浪费的。
阅读全文
摘要:每个上下文都与一个变量对象相关联。 (此上下文中定义的所有变量和函数都存在于vo之中)
阅读全文
摘要:字符串 数值 布尔 undefined null Symbol BigInt 对象
阅读全文