- 博客(125)
- 收藏
- 关注
原创 浏览器渲染机制
生成render tree之后,会去执行js代码,如果js代码有操作dom,就会立即挂起js,然后去更新DOM,更新完毕之后再执行js,再挂起...直至js不再涉及DOM操作,只要js操作了DOM,就会触发render tree的修改, render tree修改会导致layout tree 的修改,这一过程是非常耗时的,其中就涉及到了重排、重绘。layout tree不再变化之后就会通知UI线程,进行paint。这就是整个渲染机制的流程。...
2022-08-15 00:21:18 317
原创 JavaScript事件执行机制
同步任务:又叫做非耗时任务,指的是在主线程(即js引擎线程)上排队执行的那些任务,只有前一个任务执行完毕,才能执行后一个任务。 异步任务:又叫做耗时任务,异步任务由JavaScript委托给浏览器对应线程执行(例如http请求线程、定时器触发线程、事件触发线程)进行执行。异步任务执行完之后会将异步任务的回调函数放入事件队列,等待主线程处理。...
2022-08-14 00:37:21 251
原创 Vue能打印出对象,但是打印不出具体的属性值
在开发中我发现打印对象可以正常显示,但是获取具体属性的时候没有值,后面查阅相关知识才知道因为新增的不是响应式数据,所以新增的属性名,没有set和get方法,就没法获取该值了。,所以它会调用相关 getter 和 setter。所以我们可以通过Object.assign方法解决这个问题。方法会拷贝源对象自身的并且可枚举的属性到目标对象。...
2022-08-11 11:13:19 4275
原创 16、求s=a+aa+aaa+aaaa+aa...a的值,其中 a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
// 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中 a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。/** * @param count 共需要几个数相加 * @param num 这个数是多少 */function add (count, num) { var sum = 0 //记录每一次的数值变化 var total = 0 //记录数值相加的结果 for (var i = 0; i <.
2022-04-20 10:23:45 406
原创 Vue-render()
vue中的render函数_webchang的博客-CSDN博客_vue的render函数render 函数 跟 template 一样都是创建 html 模板的,但是有些场景中用 template 实现起来代码冗长繁琐而且有大量重复,这时候就可以用 render 函数。https://blog.csdn.net/weixin_43974265/article/details/112747768...
2022-04-18 16:32:38 704
原创 JavaScript-排序算法
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>排.
2022-04-14 15:39:36 576
原创 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false
// 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。var isPalindrome = function (num) { // 数字先转字符串->数组->逆序->字符串 return num == num.toString().split('').reverse().join('')};console.log(isPalindrome(121));console.log(isPalindrome(-121));..
2022-04-06 14:42:14 719
原创 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
// 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。var twoSum = function (nums, target) { let n = nums.length for (let i = 0; i < n; i++) { for (let j = i + 1; j < n; j++) { if (nums[i] + nums[j.
2022-04-06 14:24:28 991
原创 JavaScript 数据结构-二叉搜索树
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>D.
2022-04-06 13:53:53 433
原创 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
// 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。function str(strs) { var chinese = 0; //中文字母 var character = 0; //英文字母 var blank = 0; // 空格 var digital = 0; //数字 var other = 0; //其它字符 for (var i = 0; i < strs.length; i++) { if...
2022-04-06 10:06:13 955
原创 输入两个正整数m和 n,求其最大公约数和最小公倍数
// 题目:输入两个正整数m和 n,求其最大公约数和最小公倍数function getNumber(a, b) { let num1, num2 // num1最大公约数 num2最小公倍数 let i = a //保存实参的值 let j = b //保存实参的值 if (a < 0 || b < 0) { // 判断传入的值是否合法 return false } else { if (a < b) { .
2022-04-02 15:07:49 720
原创 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
// 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。function score(num) { if (num < 0 || num > 100) { return '非法成绩' } else { return num >= 90 ? // num>=90吗 'A' : num < 60 ? // 是返回A.
2022-04-01 11:30:27 789
原创 JavaScript 数据结构-哈希表
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>D.
2022-04-01 11:09:21 1155
原创 正则验证质数
// 正则验证质数function isPrime(n) { return !(Array(n + 1).join(1).match(/^1?$|^(11+?)\1+?$/))}console.log(isPrime(5)); //trueconsole.log(isPrime(99)); //false
2022-04-01 10:54:43 279
原创 打印出所有的“水仙花数”
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。// 题目:打印出所有的“水仙花数”// 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。let a, b, clet str = '' //用于拼接水仙花数for (var i = 100; i < 1000; i++) { a = pa.
2022-03-31 10:00:24 331
原创 判断101-200之间有多少个素数,并输出所有素数。
// 题目:判断101-200之间有多少个素数,并输出所有素数。 let str = '' //用于拼接数字 for (let i = 101; i <= 200; i++) { let count = 0 //用于判断是否为素数 for (let j = 2; j <= i - 1; j++) { if (i % j == 0) { ...
2022-03-30 16:57:58 399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人