js手写代码系列 js 中常用的一些方法的代码实现 new 操作引用 MDN 上的相关描述:new 关键字会进行如下的操作: 创建一个空的简单 JavaScript 对象(即{});链接该对象(设置该对象的 constructor)到另一个对象 ;将步骤 1 新创建的对象作为 this 的上下文 ;如果该函数没有返回对象,则返回 this。 12345678910111213// construct: 构造函数 2021-03-24 前端开发 js 面试题
一文看懂js中falsy值的比较 面试中的笔试题经常有碰到 js 中假值的比较,其实主要考察的是 js 中在非全等情况下,比较的一个类型隐式转换问题 示例代码js 中共有 8 个 falsy 值, 分别为 false, 0, 0n, -0, NaN, ‘’, null, undefined 还有 js 中易混的空数组和控对象。 12345678910111213<!-- 首先罗列所有易混的值 几个数字0 的转换表现一致所 2021-03-21 前端开发 js 面试题
js实现继承的方式和优缺点 原型继承实现的核心代码: 123Child.prototype = new Parent();var child1 = new Child(); 缺点: 引用类型的属性被所有实例共享 创建实例时不能向 parent 传参 构造函数继承在子类构造函数中调用父类的构造函数,相当于在新对象上,运行了父类的所有初始化代码 12345678910function Parent () { 2021-03-20 前端开发 js 面试题
函数链式调用 编写代码,满足以下条件:(1)Hero(“37er”);执行结果为 Hi! This is 37er(2)Hero(“37er”).kill(1).recover(30);执行结果为 Hi! This is 37er Kill 1 bug Recover 30 bloods(3)Hero(“37er”).sleep(10).kill(2)执行结果为 Hi! This is 37er //等待 1 2021-03-12 前端开发 js 面试题
typeScript文件保存时自动编译 typeScript 文件保存时自动编译,官网教程中的 提到的 vsCode 插件 atom-typescript,在 vsCode 中搜索没找到。 1、全局安装 typeScript1npm install -g typescript 2、手动编译创建完成 ts 文件后运行 tsc test.ts,会在当前目录下生成同名的 js 文件。 1tsc test.ts 3、自动编译a、生成配置 t 2021-02-14 前端开发 typeScript
深浅拷贝 项目中经常会遇到一些场景比如说从后端获取的数据,前端保存一份,用户需要修改编辑,如果页面需要同时展示两份数据的话,这时候前端就需要同时保留两份独立的数据,就需要用到拷贝,如果涉及到多层级的对象修改,就需要用到深拷贝。首先说一下几个易混的概念。 赋值,浅拷贝,深拷贝 值类型的数据 赋值是值赋值, 引用类型的数据(数组,对象) 赋值是地址赋 值,修改目标对象,来源对象也会更改 浅拷贝 如果来源 2021-02-13 前端开发 js
统计html中出现最多的标签 查找当前页面中出现最多的 html 标签12345678910const maxBy = (list, keyBy) => list.reduce((x, y) => keyBy(x) > keyBy(y) ? x : y)function getFrequentTag () { const tags = [...document.querySelectorAll(& 2021-01-28 面试题 js 面试
快速排序 快速排序又叫快排,和冒泡排序类似,都是通过元素的比较和交换位置来排序,本文记录一下快排的实现方法,希望对大家有所帮助 一、 基本思想快排采用分治的思想,每个循环将数列依据选定的基准,分成大小两份。主要实现思路 选择基准元素,还有元素的交换。这里有动画示例很好理解。 二、 代码实现a、双边循环1234567891011121314151617181920212223242526272829303 2021-01-25 算法 算法
冒泡排序及优化 冒泡排序是我们会经常用到的排序方法,本文记录一下冒泡排序及优化的实现方法,希望对大家有所帮助 一、 前情提要 js 中可以使用数组的原生方法 sort 来进行排序。默认排序顺序是在将元素转换为字符串,然后比较它们的 UTF-16 代码单元值序列时构建的 直接使用 sort,元素会按照转换为的字符串的诸个字符的 Unicode 位点进行排序 123let arr = [4,2,8,10,1]; 2021-01-23 算法 算法
js循环退出的方法 本文主要介绍 js 中 循环跳出/终止的方法,希望对你有所帮助 常用的方法 continue break return 接下来,分别看看他们不同的使用场景 一、for 循环中的使用continue 在 for 循环中是退出当前循环,接着执行下面的循环12345for(var i =0;i<arr.length;i++){ if (arr[i] == 4) cont 2021-01-23 前端开发 js