前端
zxhI2020Y
这个作者很懒,什么都没留下…
展开
-
JavaScript中this指针
绑定this的方式一共有四种:隐式绑定显式绑定new 绑定window绑定当是下面的对象的时候:const user = { name: 'Tyler', age: 27, greet() { alert(`Hello, my name is ${this.name}`) }}user.greet();等于是实现了下面的代码解析:greet() { // alert(`Hello, my name is ${this.name}`) alert(`原创 2021-03-29 10:11:25 · 120 阅读 · 0 评论 -
JS中的常见数据类型
Null -> nullUndefined -> undefindeStringNumberBooleanObjectSymbolBigIntJavaScript中的Number的数据是按照双精度浮点数double的数据来进行存储的,所以其会有一个超出范围,双精度浮点数的由三部分组成:符号位、指数位、尾数,其中尾数是省略了最开始的1来进行存储的。提出了一种的新的数据类型:BigIntconsole.log(9007199254740995n); // → 900原创 2021-03-26 20:07:29 · 116 阅读 · 0 评论 -
面试题30. 包含min函数的栈
面试题30. 包含min函数的栈题目的意思就是说需要实现一个可以返回当前栈中对应的最小值的函数的,实现的思路是使用两个栈,一个是正常的栈,每次正常添加元素,然后每次都将当前栈中最小的元素放在其中,比如刚开始的时候,首先来的元素就是当前的第一个元素,就是当前的最小的,每次来的时候都跟当前最小栈的最顶端的元素进行比较,如果当前的元素小于更小则放入其中的最小栈内,否则继续将原先的栈顶的元素放在里面。实现的语言Javascript,实现的代码如下:/** * initialize your data str原创 2021-03-26 19:28:48 · 75 阅读 · 0 评论 -
2020/3/21腾讯前端笔试题目
第一题:前端题目,实现一个无限下拉加载内容的小demo。没有什么难度,不熟练的话很难很快写出来,而且还有很多问题。没写出来。第二题:题目大意是给出一个数字经过三种变换,在最少的步骤中将对应的N值变成为0,变换的方式有三种:如果n是3的倍数,就是将n = n /3。第二种:如果n是2的倍数,可以将n = n / 2;第三种变换就是将n的值减一,现在就是使用这三种方式将将n经过最少的步骤变为0。这个题目是leetcode上的1553的题目,hard难度,自己看吧!不会写。https://leetcode-c原创 2021-03-22 22:24:25 · 793 阅读 · 0 评论 -
面试题 16.26. 计算器
leetcode:https://leetcode-cn.com/problems/calculator-lcci/示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5没什么思路可言,直接上代码!var calculate = function(s) { let prev = 0, num = 0, sum = 0, preOp = '+' s += '&' for(let i=0;原创 2021-03-22 20:13:17 · 117 阅读 · 0 评论 -
JavaScript中如何判断判断一个对象是否属于某个类?
首先应该明确一些基本常识也就是typeof是一个一元运算符,其调用的时候可以加括号或者不加括号的。其可以判断一些基本数据类型,同时也会将任意的引用数据类型都返回为Object,其只能很粗略的知道当前的是否为一个对象。instanceof方法:其是可以判断对应的构造函数的 prototype 属性是否出现在对象的原型链中的任何位置。是会在整个对象原型链上去找。function Car(make, model, year) { this.make = make; this.model = mod.原创 2021-03-21 17:15:12 · 3315 阅读 · 0 评论 -
剑指 Offer 16. 数值的整数次方
https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/题目就是求解a的b次方的结果返回即可!使用整数幂的思想,满足下面的规则的:2 ^ n = 2 ^(n/2) * 2 ^ (n/2); //当n为偶数2 ^ n = 2 ^ (n -1) * 2; //当n为奇数递归实现即可!其中再n为偶数的时候,需要首先将值保留一份,然后进行乘,不可以写两个递归,否则会超时!实现的代码如下:实现的语言为Javascript;/*原创 2021-03-15 19:08:59 · 103 阅读 · 0 评论 -
剑指 Offer 57. 和为s的两个数字
https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof/简单的两数之和,使用双指针方法,一前一后的方式,如果当前的前后两者的和大于target的时候则将对应的fast的值减少,小于的时候则增加对应的slow指针的值,其实这里不是快慢的问题,直接使用left和right的方式表示更加合适。代码如下:实现的语言JavaScript/** * @param {number[]} nums * @param {number} targ原创 2021-03-15 18:48:07 · 79 阅读 · 0 评论 -
浏览器渲染过程中什么是重绘和回流?
重绘: 当渲染树中的一些元素需要更新属性,而这些属性只是影响元素的外观、风格,而不会影响布局的操作,比如 background-color,我们将这样的操作称为重绘。回流:当渲染树中的一部分(或全部)因为元素的规模尺寸、布局、隐藏等改变而需要重新构建的操作,会影响到布局的操作,这样的操作我们称为回流。常见引起回流属性和方法:任何会改变元素几何信息(元素的位置和尺寸大小)的操作,都会触发回流。(1)添加或者删除可见的 DOM 元素;(2)元素尺寸改变——边距、填充、边框、宽度和高度(3)内容变化,原创 2021-03-13 10:47:14 · 148 阅读 · 0 评论 -
CSS 如何阻塞文档解析?(浏览器解析过程)
理论上,既然样式表不改变 DOM 树,也就没有必要停下文档的解析等待它们,然而,存在一个问题,JavaScript 脚本执行时可能在文档的解析过程中请求样式信息,如果样式还没有加载和解析,脚本将得到错误的值,显然这将会导致很多问题。所以如果浏览器尚未完成 CSSOM 的下载和构建,而我们却想在此时运行脚本,那么浏览器将延迟 JavaScript 脚本执行和文档的解析,直至其完成 CSSOM 的下载和构建。也就是说,在这种情况下,浏览器会先下载和构建 CSSOM,然后再执行 JavaScript,原创 2021-03-13 10:36:37 · 421 阅读 · 2 评论