js
文章平均质量分 52
cwxcc
这个作者很懒,什么都没留下…
展开
-
JS 原型原型链
js原型转载 2023-02-07 19:33:40 · 98 阅读 · 0 评论 -
JavaScript的六种继承方式
转自:https://www.jianshu.com/p/3d810bda86bf JavaScript的几种继承方式 原型链继承 借助构造函数继承(经典继承) 组合继承:原型链 + 借用构造函数(最常用) 原型式继承 (Object.create) 寄生式继承 寄生组合式继承(最理想) ES6中的继承 1. 原型链继承 子类型的原型为父类型的一个实例对象 function Parent() { this.name = 'bigStar'; this.colors = ['red'转载 2022-05-12 14:27:23 · 94 阅读 · 0 评论 -
if else switch case如何优化
日常项目开发我们必然且高频会遇到判断场景 比如: 一个管理系统,根据用户特征每人发放福利 1,瘸子 === 送 === 轮椅 2,瞎子 === 送 === 墨镜 3,聋子 === 送 === 耳机(程序员逻辑) 4,孩子 === 送 === 玩具 5,男子 === 送 === 啤酒 6,女子 === 送 === 炸鸡 6个简单的条件,不太深层,但很好理解 首先 使用 if else 解决: let client = "";//结果 let type = "瘸子";//客户 if(type === "瘸原创 2020-06-29 21:27:01 · 356 阅读 · 0 评论 -
常见排序算法速记及思路
冒泡排序 思路:它重复地走访要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们位置交换过来. function bubbleSort(arr) { for(let i = 0,l=arr.length;i<l-1;i++) { for(let j=0;j<arr.length-1-i;j++) { if(arr[j]>arr[j+1]) { [arr[j],arr[j原创 2020-06-14 19:33:38 · 353 阅读 · 0 评论 -
setTimeout、promise与async和await的执行顺序
1、async-await 是建立在 promise机制之上的,并不能取代其地位。 2、async/await 的优势在于处理 then 链 3、Promise执行的优先级大于setTimeout/setInterval 4、async方法内遇到await,就是等等再往下走,会等到await后面的promise函数执行完成才会继续往下走。async函数体外的代码可不会去一 直等待,这个时候跳出as...原创 2020-04-13 18:07:41 · 997 阅读 · 3 评论 -
三秒钟让你学会防抖、节流
比较精简的防抖、节流: 防抖(debounce):指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。 精简:狂点按钮也没有用,等你冷静下来事件才会触发。 let time2; document.getElementById(‘防抖’).onclick = function () { clearTimeout(time2); time2=setTime...原创 2020-04-13 18:03:49 · 129 阅读 · 0 评论 -
ES6 Promise 用法讲解
Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。 那就new一个 var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); ...转载 2019-04-18 22:42:29 · 146 阅读 · 0 评论 -
前端经典算法题大全
1.判断一个单词是否是回文? 回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。比如 mamam redivider . 很多人拿到这样的题目非常容易想到用for 将字符串颠倒字母顺序然后匹配就行了。其实重要的考察的就是对于reverse的实现。其实我们可以利用现成的函数,将字符串转换成数组,这个思路很重要,我们可以拥有更多的自由度去进行字符串的一些操...原创 2019-04-21 19:49:21 · 7265 阅读 · 2 评论 -
js常用字符串方法整理
length charAt 返回子字符串,index为下标,超过范围获取空字符串 index取值范围[0,str.length-1] var str = "ABC"; str.charAt(1); //B charCodeAt 返回子字符串的unicode编码,index取值范围同上 var str = "ABC"; str.charCodeAt(0); //65 f...原创 2019-03-26 15:14:07 · 159 阅读 · 0 评论 -
js常用数组方法整理
这两天整理了下js常用的数组方法, 都是干货分享给大家: push:向数组的末尾增加一项 返回值是数组的新长度 unshift:向数组开头增加一项 返回值是数组的新长度 pop:删除数组的末尾项 返回值是删除的数组项 shift:删除数组开头项 返回被删除的开头项目 splice:删除数组中的任意项 返回值是被删除的数组项 slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的...原创 2019-03-11 16:50:16 · 312 阅读 · 1 评论 -
字符串操作函数中的slice()、substr()、substring()
slice()方法传负数和字符串操作函数中的slice()、substr()、substring(): 字符串操作函数中的slice()、substr()、substring() 这3个函数都可以传入两个参数:x,y x(必需):规定从何处开始选取(索引); y(可选):规定从何处结束选取。 //slice和substring y(可选):规定要返回的字符个数。 //substr 当只有x时: 1...原创 2019-03-14 17:41:56 · 225 阅读 · 0 评论 -
call、apply、bind的区别, 一目了然
call、apply、bind都可以改变函数调用的this指向, 关于他们三个的区别, 网上很多资料介绍的非常官方, 看完后有种云里雾里的感觉, 不要慌, 看完下面这个实例, 你对call、apply、bind的区别一目了然: 举个梨子? const cat = { name: '小黑', eatFish(...args) { console.log('this指向...原创 2019-03-08 15:41:22 · 197 阅读 · 0 评论 -
JavaScript中的this指向详解
1、谁最终调用函数,this最终指向谁(记住!) ①this指向谁,不应考虑函数在哪声明,而应该考虑函数在哪调用!!! ②this指向的永远只可能是对象,而不可能是函数。 ③this指向的对象,叫做函数的上下文context,也叫函数的调用者。 2、this指向的规律!!!(跟函数的调用方式息息相关,记住这点,相信你一定会分清this指向哒) ①通过函数名()调用的,this永远指向window ...原创 2019-03-01 16:10:14 · 268 阅读 · 1 评论 -
js 隐式转换、原型链面试题
一、查看下列代码,请问执行后弹出什么值 var name = “World!”; (function () { var name; if (typeof name === ‘undefined’) { name = ‘Jack’; console.log(‘Goodbye’ + name); } else { console.log(‘hello’ + name); } })(); 分析: 变量声...原创 2019-02-20 11:00:32 · 500 阅读 · 0 评论 -
变量的解构赋值
今天在刷面试题时, 有关面试题, 我已经单独整理了一篇文章, 感兴趣的同学点击前端面试必问问题及答案, 看到一个很陌生的代码写法, 具体例子是这样的: var user ={ age:“22” } var { user: person }={user}; console.log(person.age); var { user: person }={user};这是个什么写法???后来查阅资料才知道...原创 2019-03-01 10:39:20 · 205 阅读 · 0 评论