前端
文章平均质量分 52
十一123123
这个作者很懒,什么都没留下…
展开
-
深入了解Array.prototype.slice.call(arguments)
深入了解Array.prototype.slice.call(arguments) 对于Array.prototype.slice.call(arguments),我网上一搜,大部分都只是讲解了作用 “把类数组对象转为数组对象,而并没有分析其原理 下面让我来谈谈我对它的理解 1.首先介绍它的两种写法 Array.prototype.slice.call(arguments) 或者 [].shift.call( arguments ) 这两种写法都能把 伪数组arguments转换成真正的数组原创 2021-09-30 22:16:20 · 304 阅读 · 0 评论 -
闲谈js中执行期上下文,作用域,作用域链,闭包
闲谈执行期上下文,作用域链,闭包 一.执行期上下文 作用: 代码执行之前的准备工作(预编译),确定当前环境下标识符(变量、常量、数组、函数、对象等)的取值,this的指向 执行期上下文是预编译期间生成的,预编译分为全局预编译和函数预编译. 函数预编译四部曲 函数预编译四部曲 1. 创建AO(activation object)对象(函数执行期上下文) 2. 找形参和变量声明,将变量声明和形参作为AO对象的属性名,值为undefined 3. 将实参和形参统一原创 2021-09-29 22:29:35 · 134 阅读 · 0 评论 -
javascript中的delete操作符
1.delete **delete**操作符会从某个对象上移除指定属性。成功删除的时候会返回 true,否则返回 false。 但是,以下情况需要重点考虑: 如果你试图删除的属性不存在,那么delete将不会起任何作用,但仍会返回true 如果对象的原型链上有一个与待删除属性同名的属性,那么删除属性之后,对象会使用原型链上的那个属性(也就是说,delete操作只会在自身的属性上起作用) 任何使用 var 声明的属性不能从全局作用域或函数的作用域中删除。 这样的话,delete操作不能删除任何在原创 2021-09-29 18:09:25 · 227 阅读 · 0 评论 -
javascript中数组的常用遍历方法
javascript中数组的常用遍历方法 遍历方法: forEach()、map()、filter()、some()、 every()、reduce() 1.forEach() forEach()方法遍历数组的每一项,返回一个新数组,并且不会改变原数组 注意:除了抛出异常以外,没有办法中止或跳出forEach()循环。如果你需要中止或跳出循环,forEach()方法不是应当使用的工具。 // 完整写法 // array.forEach(function(Value, index, arr))原创 2021-09-29 18:02:18 · 161 阅读 · 0 评论 -
高内聚,低偶合指的是什么?
模块 模块就是从逻辑上将系统分解为更细微的部分, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 耦合主要描述模块之间的关系, 内聚主要描述模块内部。 模块的粒度可大可小, 可以是函数, 类, 功能块等等。 耦合 模块之间存在依赖, 导致改动可能会互相影响, 关系越紧密, 耦合越强, 模块独立性越差。 比如模块A直接操作了模块B中数据, 则视为强耦合, 若A只是通过数据与模块B交互, 则视为弱耦合。 独立的模块便于扩展, 维护, 写单元测试, 如果模块之间重重依赖, 会极大降低开发效率。 内聚 模块内转载 2021-09-29 15:51:53 · 121 阅读 · 0 评论