JavaScript 奇怪又实用的姿势又增加了六个,开发岗面试自我介绍

本文介绍了JavaScript中的随机字符串生成方法、如何获取当前调用栈以及前端开发者求职时的面试技巧,包括认识自我、双向了解面试过程和寻找工作平衡。还分享了前端学习资源,以帮助工程师提升技能和找到理想工作机会。
摘要由CSDN通过智能技术生成

答案是:3

最后得出结论,还是 finally 比较厉害

那么我们可以搞一些骚操作

function demo () {

try {

return 1

} catch (err) {

console.log(err)

return 2

} finally {

try {

return 3

} finally {

return 4

}

}

}

console.log(demo()) // 返回 4

四、获取当前调用栈


function firstFunction() { secondFunction(); }

function secondFunction() { thridFunction(); }

function thridFunction() { console.log(new Error().stack); }

firstFunction();

//=> Error

// at thridFunction (:2:17)

// at secondFunction (:5:5)

// at firstFunction (:8:5)

// at :10:1

new Error().stack 这样就能随时获取到当前代码执行的调用栈信息,也不失一种调试代码的办法

五、一行代码生成随机字符串


我最初学js时,想自己实现一个随机生成字符串的函数,是这么搞的

function hash () {

let s = ‘’

const strs = [

‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’,

‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’,

‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’,

‘v’, ‘w’, ‘x’, ‘y’, ‘z’, ‘0’, ‘1’,

‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’,

‘9’,

]

for(let i = 0; i < 10; i++) {

s += strs[Math.floor(Math.random() * strs.length)]

}

return s

}

hash() // ‘www7v2if9r’

真麻烦啊!我光写26个字母和10个数字就写了半天(当然也可以用ASCII码来实现,会更方便点)

接下来介绍一个方法,只需 一行超短代码 即可实现 “随机生成字符串” 的功能

const str = Math.random().toString(36).substr(2, 10);

console.log(str); // ‘w5jetivt7e’

我们同样获得了一个10位数的随机字符串,这太酷了 ,跟我写的那个比起来,简直不要太爽

先是 Math.random() 生成 [0, 1) 的数,也就是 0.1233120.982931之类的,然后调用 number 的 toString方法将其转换成36进制的,按照MDN的说法,36进制的转换应该是包含了字母 a~z 和 数字0~9的,因为这样生成的是 0.89kjna21sa 类似这样的,所以要截取一下小数部分,即从索引 2 开始截取10个字符就是我们想要的随机字符串了

很多开源库都使用此方式为DOM元素创建随机ID。

六、最快获取dom的方法


HTML中带有 id 属性的元素,都会被全局的 ID 同名变量所引用

原本获取 dom 是这样的

const el = document.getElementById(‘zero2one’)

console.log(el) //

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

前端资料汇总

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。

首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。

更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。
找工作无非就是看三点:和什么人、做什么事、给多少钱,要给这三者在自己的心里划分一个比例。
最后,祝愿大家在这并不友好的环境下都能找到自己心仪的归宿。
术面试是一个 认识自己 的过程,知道自己和外面世界的差距。

更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。
找工作无非就是看三点:和什么人、做什么事、给多少钱,要给这三者在自己的心里划分一个比例。
最后,祝愿大家在这并不友好的环境下都能找到自己心仪的归宿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值