
ECMAscript
苏先生前端
这个作者很懒,什么都没留下…
展开
-
javascript权威指南阅读笔记
= 、== 、 与=== 解释两者都用于比较两个值是否相等 前者称为想等运算符 ,后者为严格相等运算符 区别: 前者可以进行类型转换 后者不可以而=为赋值的意思 != 称为不相等 !== 不严格相等比较的注意点严格相等 :类型不同 就不同(undefined null)NAN 不等于任何值 自己也不等于自己 x != x 可以判断 返回true对...原创 2020-03-09 15:57:48 · 268 阅读 · 0 评论 -
三目运算符 数组
数组 方法操作可以改变原数组的方法push() 数组末尾添加东西任意位;返回数组变化之后的长度重写push 方法//原型链上编程思想var arr = [1,2,3];Array.prototype.push = function() { for(var i = 0; i <= arguments.length; i ++) { this[this.len...原创 2019-09-19 14:11:04 · 824 阅读 · 0 评论 -
call tostring this 克隆函数
区别对象 数组的三种方式1、construcctor属性2、instanceof()方法3、toString方法this 1.函数预编译过程 this —> window分析 :首先 预编译过程创建AO 执行期上下文此时this指向window当时如果构造函数一但new 一个对象 就会引发隐式创建var this 三部...原创 2019-09-19 13:39:32 · 179 阅读 · 0 评论 -
继承模式 命名空间
function inherit(Target, Origin) { // F.prototype = Origin.prototype; // function F() {}; // Target.prototype = new F(); 完美模式 Target.prototype = Origin.prototype; //此方法会导致原...原创 2019-09-19 13:40:24 · 464 阅读 · 0 评论 -
原型
1.定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。2.利用原型特点和概念,可以提取共有属性。3.对象属性的增删和原型上属性增删改查。4.对象如何查看原型 — > 隐式属性 __proto__。5.对象如何查看对象的构造函数 — > constructor。c...原创 2019-09-19 13:41:11 · 161 阅读 · 0 评论 -
对象 包装类
对象创建方式直接量、 new 、 Object.create()对象的枚举遍历 对象属性 不可以用obj.prop 内部识别为obj【‘prop’】 相当于查找prop属性 故为undefiendfor in 循环 默认打印出原型上的属性 一直到object.prototype上的 截至2、hasOwnProerty()识别对象...原创 2019-09-19 13:40:01 · 174 阅读 · 0 评论 -
闭包 立即执行函数
举例说明打印结果 101 102 当时疑惑 第一次demo执行完毕 执行期上下文被释放 第二次应该打印undefiend错误认识 第一次执行完毕 销毁的执行器上下文 为b函数自己的执行期上下文 但是他无法销毁 来自于A的执行期上下文故其打印仍是a函数执行期上下文中 的值 该AO一直为b函数所有 b执行完回归到b被定义的状态闭包概念...原创 2019-09-19 14:09:31 · 408 阅读 · 0 评论 -
作用域链精解
【【scope】】就是作用域 存储的是作用域链 寻找顺序时 从作用链的顶端查找当函数被执行时 前一刻发生预编译首先 函数被定义时 生成其所在环境的GO 即全局 windowa 被执行时生成属于自己的AOa的执行引发b的定义 b生成时所处的环境时 a的环境 即拿到的是a函数的劳动成果 两个ao指向同一个地方接着b被执行时 创建属于自...原创 2019-09-19 13:49:26 · 166 阅读 · 0 评论 -
函数 作用域 预编译下(new)
js 语言特点解释性语言 解释一句执行一句作用域定义:变量(变量作用于又称上下文)和函数生效(能被访问)的区域全局、局部变量作用域的访问顺序预编译函数无论在哪里声明都会提升到最前面对于变量来说 提升的只有声明 而赋值不提升 要等待执行过程预编译前提1.imply global 暗示全局变量:即任何变量,如果变量未经声明就赋值...原创 2019-09-19 13:47:45 · 196 阅读 · 0 评论 -
函数 作用域 上
函数声明函数表达式javascript 参数长度可以不匹配 如上且无论 形参位置不管是否有占位 都有人去接受实参 这个人就是arguments (形参列表) 类数组 类型注意 实参列表 与形参列表具有映射关系 你便我也变 但是他们是两个人 但是 只有在是参与形参个数相等时才存在映射关系此时不存在映射关系...原创 2019-09-19 13:47:17 · 117 阅读 · 0 评论 -
typeof 类型转换
typeof()parseInt 作用 取整 进制转换 以所写参数为基地 将数字转换为十进制数字parseFloat() 截取字符串中的浮点数字数字进制间转换paeseInt(demo,2) -------------------- > 10 tostring(n) --------------------->...原创 2019-09-19 13:48:01 · 217 阅读 · 0 评论 -
条件语句 循环
输入框接受数据if 条件中else if要求条件没有交差点第一个条件满足后不再执行else if 语句循环执行顺序for 循环 加深理解中间位置相当于if条件 只要值为真 如图:灵活使用 i ==0 时自动停止whle 循环 for的特别形式 循环常见例子:斐波那...原创 2019-09-19 13:46:56 · 148 阅读 · 0 评论 -
比较运算符 逻辑运算符
1/0 -----> Infinity -------number0/0 -----> NAN --------number字符串比较ascall 码值 Ascll码 7位NAN===NAN false 自己也不等于自己逻辑运算符&&&&&&&&&&&&...原创 2019-09-19 13:45:30 · 257 阅读 · 0 评论 -
js作用域理解
上一篇我说了预编译问题 接着说js 作用域问题关于预编译解释过程作用域定义:变量(变量作用于又称上下文)和函数生效(能被访问)的区域首先 作用域 随函数产生而产生 也就是我们常见的【【scope】】1、每一个js函数为一个对象,对象函数属性与方法,i他们归js引擎所用 包括可见于不可见 。【【scope】】为其中一个2、【【scope】】其中存储了 执行期上下文的集合 ...原创 2019-09-19 13:37:36 · 432 阅读 · 0 评论 -
javascript函数预编译理解
js 函数预编译思路整理function test(a) { console.log(a); var a = 123; function a() {}; var b = function() {}; console.log(a); console.log(b); function d() {}; console.log(d);...原创 2019-09-19 13:37:03 · 257 阅读 · 0 评论 -
类数组 数组去重 type封装
var obj = { "0": "a", "1": "b", "2": "c", "length": 3,}var obj1 = { "0": "a", "1": "b", "2": "c", "length": 3, "push": Array.prototype.push, "splice":...原创 2019-09-19 13:37:59 · 231 阅读 · 0 评论