js小技巧
摘要:1. 快速浮点数转整数 传统方法:Math.floor()、Math.ceil()或Math.round() 快捷方法: console.log(23.9 | 0); // Result: 23 console.log(-23.9 | 0); // Result: -23 如果n为正,则n | 0有
阅读全文
理解js的new,区分prototype和__proto__
摘要:new 执行过程 创建一个空对象,作为将要返回的对象实例 将这个空对象的原型指向构造函数的prototype属性 将这个空对象赋值给函数内部的this 执行构造函数内部代码 function _new(/* 构造函数 */ constructor, /* 构造函数参数 */ params) { //
阅读全文
模拟实现apply
摘要:模拟实现apply Function.prototype._apply = function (targetObject, argsArray) { // 若是没有传递,则置为空数组 if(typeof argsArray 'undefined' || argsArray null) { argsA
阅读全文
JSON.parse拷贝的局限性
摘要:JSON.parse拷贝的局限性 JSON.parse(JSON.stringify(obj)) 常用来进行深拷贝,使用起来简单便利,但存在问题 他无法实现对函数 、RegExp等特殊对象的克隆 会抛弃对象的constructor,所有的构造函数会指向Object 对象有循环引用,会报错 含有sym
阅读全文
ES6中的Symbol
摘要:ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。 重要的干货提前说:当使用JSON.stringify()将对象转换成JSON字符串的时候,Symbol属性也会被排除在输出内容之外,所以JSON.parse(JSON.stringify(oldObj))不能拷贝含有Symbol属性
阅读全文
vue hookEvent(给第三方组件注入一个生命周期函数)
摘要:所以,如果你想给一个Vue组件添加生命周期函数有3个办法: 在Vue组件选项中添加; 在模板中通过@hooks:created这种形式; vm.$on('hooks:created', cb)或者 vm.$once('hooks:created', cb)。
阅读全文
vue 开发小技巧
摘要:1,程序化的事件侦听器 2,手动挂载组件 在一些需求中,手动挂载组件能够让我们实现起来更加优雅。比如一个弹窗组件,最理想的用法是通过命令式调用,就像 elementUI 的 this.$message 。而不是在模板中通过状态切换,这种实现真的很糟糕。 先来个最简单的例子: import Vue f
阅读全文