![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 72
_Hanshin
这个作者很懒,什么都没留下…
展开
-
简单搞懂JS中的call、bind、apply 实现原理
/** * call * @param { any } context 参数1: 修改后的this指向 * @param {...any} args 参数2: 函数参数 * @returns 返回执行结果 */Function.prototype.call = function call (context, ...args) { // 如果 context 是 null 或者 undefined 时, 自动指向 window (规范中, 非严格模式) context == null ?原创 2021-05-08 16:43:12 · 155 阅读 · 0 评论 -
创建一个Vue指令,用于自定义格式列表的渲染中快捷键的使用
创建一个Vue 指令,用于自定义格式列表的渲染中快捷键的使用背景 业务场景中,列表渲染很常见,在PC或者外接键盘的情况下,对于快捷键的支持,能够给用户带来良好的体验效果。 在每个业务中去做键盘事件监听可以实现这样的效果,但是,如果这样的业务场景较多的时候,不可避免的会造成代码的重复使用。所以,我们采用引入指令的方式,简化业务代码中的书写。避免大量的重复操作。想要的效果一般针对列表的处理,我们一边是选择的时候回去使用快捷键,查看的时候也会用到,所以我们做如下的要求:可以默认选中一行,.原创 2021-01-05 20:33:33 · 253 阅读 · 0 评论 -
JavaScript中基于lodash及jQuery实现对象的extend及浅拷贝、深拷贝
// 1、方法扩展// 2、基于浅比较和深比较实现对象的合并var extend = function extend (obj) { // 如果不使用obj形参,也可以使用arguments[0] // 是undefined或者null,或者类型检测不是一个对象,抛出一个异常 if (obj == null || typeof obj !== 'object') { throw new TypeError('obj must be an object') } var self原创 2020-11-22 20:51:56 · 260 阅读 · 2 评论 -
JavaScript如何实现 a == 1 && a == 2 && a == 3?
JavaScript如何实现 a == 1 && a == 2 && a == 3?今天来看一道面试题,题目如下:如何使 a == 1 && a == 2 && a == 3成立。分析:比较两个值是否相等有两种,一个是 “ == ” , 一个是 “ === ”,而这里使用的是 “ == ”===:绝对相等,左右两边值和类型都相等。(如 1 === ‘1’ 是不成立的)== :相等,左右两边类型不同,会默认先转换为相同的类型原创 2020-11-22 20:41:24 · 623 阅读 · 1 评论 -
JavaScript数据类型检测详解及jQuery中实现数据类型检测的封装代码分析
JavaScript数据类型检测JavaScript中创建一个值的两种方案1、字面量方式let a = 1;let obj = {};...2、构造函数方式不能 new Symbol 和 new BigInt,可以通过Object(Symbol()/BigInt()),其他基本类型(除null和undefined)也可以这样做let a = new Number(1)let obj = new Object()...对于基本数据类型,两种方式的结果不同字面量方式得到的是基原创 2020-11-21 19:23:44 · 128 阅读 · 1 评论 -
JavaScript变量提升简单介易懂
变量提升一、什么是变量提升在javascript中,函数及变量的声明都将会提升到最顶部(这个过程操作可以认为是在代码编译之后、执行之前进行)注意:只是 var 和 function 才会被提升一)var 与 function 的变量提升例一// ***********************例一***********************console.log(a);var a = 10;console.log(a);// 打印结果如下:undefined10// 解析:/原创 2020-11-17 20:05:46 · 124 阅读 · 0 评论 -
JavaScript 数据类型转换详细解释以及parseInt等
数据类型转换一、其他数据类型 => Number类型1、特定转换为NumberNumber()parseInt()/parseFloat()2、隐式转换浏览器内部先转换为Number后进行运算处理isNaN()数学运算如 1+2,990 + 8特殊情况:加号两边都有内容,当加号一侧出现字符串时,此时就不是数学运算了,而是字符串拼接在处理 == 比较时,部分值需要转化为数字后再进行比较(下面会提到)…Number('') // => 0N原创 2020-11-09 23:56:50 · 803 阅读 · 1 评论