- 博客(5)
- 收藏
- 关注
原创 深入了解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
397
原创 闲谈js中执行期上下文,作用域,作用域链,闭包
闲谈执行期上下文,作用域链,闭包一.执行期上下文作用: 代码执行之前的准备工作(预编译),确定当前环境下标识符(变量、常量、数组、函数、对象等)的取值,this的指向执行期上下文是预编译期间生成的,预编译分为全局预编译和函数预编译.函数预编译四部曲 函数预编译四部曲1. 创建AO(activation object)对象(函数执行期上下文) 2. 找形参和变量声明,将变量声明和形参作为AO对象的属性名,值为undefined 3. 将实参和形参统一
2021-09-29 22:29:35
211
原创 javascript中的delete操作符
1.delete**delete**操作符会从某个对象上移除指定属性。成功删除的时候会返回 true,否则返回 false。但是,以下情况需要重点考虑:如果你试图删除的属性不存在,那么delete将不会起任何作用,但仍会返回true如果对象的原型链上有一个与待删除属性同名的属性,那么删除属性之后,对象会使用原型链上的那个属性(也就是说,delete操作只会在自身的属性上起作用)任何使用var声明的属性不能从全局作用域或函数的作用域中删除。这样的话,delete操作不能删除任何在
2021-09-29 18:09:25
293
原创 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
247
转载 高内聚,低偶合指的是什么?
模块模块就是从逻辑上将系统分解为更细微的部分, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。耦合主要描述模块之间的关系, 内聚主要描述模块内部。 模块的粒度可大可小, 可以是函数, 类, 功能块等等。耦合模块之间存在依赖, 导致改动可能会互相影响, 关系越紧密, 耦合越强, 模块独立性越差。比如模块A直接操作了模块B中数据, 则视为强耦合, 若A只是通过数据与模块B交互, 则视为弱耦合。独立的模块便于扩展, 维护, 写单元测试, 如果模块之间重重依赖, 会极大降低开发效率。内聚模块内
2021-09-29 15:51:53
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅