前端嘉嘉 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   

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
12345

搜索

前端嘉嘉 前端开发技术分享