arr[0] = javascript
涵盖javascript、es6等知识
我可能码的是假代码
主攻HTML5、Vue.js、ES6等新一代web前端内容。有PHP开发经验。
展开
-
prototype和__proto__的关系
prototype是函数独有的属性。当我们使用关键词new并且将函数作为构造函数来构造对象的时候,它被用来构建对象的__proto__属性。当你创建函数时,JS会为这个函数自动添加prototype属性,值是一个有 constructor 属性的对象。而一旦你把这个函数当作构造函数(constructor)调用(即通过new关键字调用),那么JS就会帮你创建该构造函数的实例,实例继承构造函数prototype的所有属性和方法(实例通过设置自己的__proto__指向承构造函数的prototype来实现这原创 2020-05-29 19:01:25 · 225 阅读 · 0 评论 -
javascript中的!~是什么意思
element-ui的switch组件源码有这样一个判断if (!~[this.activeValue, this.inactiveValue].indexOf(this.value)) { this.$emit('input', this.inactiveValue);}这个用法比较新颖,因为默认的写法都是 ['xx', 'yy'].indexOf(who) >= 0...原创 2020-04-28 16:28:01 · 1542 阅读 · 1 评论 -
position:sticky实现吸顶效果以及兼容性
在开发时遇到一个吸顶效果的需求,先看一下最终实现的效果:收到这个需求的时候,其实也知道position:stricky这个属性,现在重新介绍一下:这是一个结合了 position:relative 和 position:fixed 两种定位功能于一体的特殊定位,适用于一些特殊场景。 如果 position:sticky 元素的任意父节点定位设置为 overflow:hidden,则父...原创 2020-03-26 18:31:42 · 5972 阅读 · 0 评论 -
html中如何处理中文输入
在处理用户输入<input>标签的文本时,平时我们都是用input/propertychange事件进行操作和过滤,但有时候会出现处理中文的情况,在中文输入时,用户还没有输入他想输入的中文,只是输入了几个拼音字符,但 input 事件也被触发了,提示长度超过上限。那有没有更好的方法避免这种情况呢?可以采用compositionstart和compositionend来捕获IME(i...原创 2020-03-18 16:58:29 · 770 阅读 · 0 评论 -
震惊,Object.hasOwnProperty的正确调用方法
今天在家写一个Vue的项目时使用Object.hasOwnProperty时出现一个错误,代码差不多如下:let data = {a:1, b:2};for(let key in data) { if (data.hasOwnProperty(key) { //todo... }}在执行类似上述代码时直接报错:为啥hasOwnProperty都...原创 2020-03-10 11:52:05 · 805 阅读 · 0 评论 -
ES6事件循环机制:浏览器中的宏任务和微任务
面试也是一个增长知识点的过程。就像我昨天面试时被问到一个没有听过的名词:简单阐述一下宏任务和微任务,不知道答案的我直接就被问住了,今天在网上翻阅了很多文章终于算是弄懂了,也自己总结一下。首先,我们都知道JavaScript 是一个单线程、异步、非阻塞的语言,那我们怎么来理解这句话呢,先看一段代码:console.log(1);setTimeout(function() { co...原创 2020-03-04 21:33:30 · 1269 阅读 · 3 评论 -
一段让JavaScript模仿其他语言类的语法去写的有趣的代码
先上源码:JS = {};// 这个是库的源代码;JS.Class = function(classDefinition) { //返回目标类的真正构造器 function getClassBase() { return function() { //它在里面执行用户传入的构造器construct //preventJSBaseConstruc...原创 2020-03-01 19:08:12 · 132 阅读 · 0 评论 -
谈一谈JS数字精度的问题
首先看一下JavaScript数字类型的说明,教科书上是这么说的,JS 遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit。如图1是符号位,用来表示数字正负,11是尾数位最大是 52 位,因此Javascript中能精准表示的最高整数是 Math.pow(2, 53) - 1,十进制即 9007199254740991(但Javascr...原创 2019-08-16 11:56:04 · 1083 阅读 · 0 评论 -
如何全局防止ajax重复提交
在开发中一定有这种情况:一个简易的需求,点一个按钮,则向服务器请求资源,不作处理时,多次点击后会有很多个请求在等待。最粗暴的解决方式是点一次就将按钮disable掉,比如$("input[type=submit]").attr('disabled',false)但这种形式缺点也很多,还有稍微优雅一点的方式完全由JS来控制,就是使用一个变量来保存状态:var post_flag = false; ...原创 2018-05-17 10:42:03 · 3443 阅读 · 0 评论 -
JavaScript的 new function () {} 写法
今天研读大神们的JS代码时,看到一个很诡异的写法:var abc = new function () { var self = this; this.xx = function (x) { //x //more... }}();这和普通的闭包方法有何不同呢?百度了一下资料也比较少,我们只知道var fun1 = new Function ('a', 'retur原创 2017-02-27 14:23:40 · 4952 阅读 · 0 评论 -
javascript运算符优先级速查表
地址是:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence自己做个记录,背一背应该会比较有用优先级运算类型关联性运算符19圆括号n/a( … )18原创 2017-02-25 18:39:46 · 372 阅读 · 0 评论 -
领淘金币网站如何实现个人的研究
想了很久,我也做了有一段时间的程序猿了,平时工作写的也不少、看文章看的也不少,可是始终觉得自己没有太大的进步,思维过于局限,有时候想得很好却写着写着又开始很糟糕,于是我决定开始写博客记笔记,只有将自己在开发和平时思考中遇到的点点滴滴累积起来,才能有所提升。这算是我的第一篇自己写的博客,仅此鼓励自己。由于电商这两年比较火爆,大家都在买买买,所以最近领淘金币的网站比较火,虽然个人觉得部分商品支持使原创 2017-02-22 23:20:15 · 642 阅读 · 0 评论