9 似梦飞花

尚未进行身份认证

暂无相关简介

等级
TA的排名 17w+

appearance: none;的使用

    在知乎上看到一个问题,为什么前端开发总喜欢用div代替语意更好的button按钮来实现button,原因无非是各个浏览器的button丑且样式不一致,所以干脆用div模拟反而要比修改button的默认样式反而更便捷。    其实一直有一个非标准的css而且兼容还出奇的好的属性--ie无视,能够在某种程度上缓解这种矛盾,就是 -webkit-appearance: none;(这里...

2018-10-07 10:38:25

彩色border

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{ padding: 0

2018-09-09 17:24:51

instanceof执行机制

js中的instanceof是判断依据是对象的__proto__是否等于方法/类的prototype,若否则沿着原型链向上寻找,直到为null时返回false,大体实现如下function checkIsInstanceOf(obj,Class){ let proto=Object.getPrototypeOf(obj); if(proto === Class...

2018-08-04 18:52:04

如何让阻止别人调试js

非服务端js因为最终要下载到客户端/浏览器编译执行,所以不可避免的要把代码泄漏出去。虽然压缩混淆可以让代码难以识别,但字符串/全局对象都不能被压缩,可以根据这方面入手来找寻突破口,进而对代码进行调试。这里抛砖引玉的分享一个阻止别人在浏览器调试代码的方法。目前多数浏览器都支持debugger断点代码,只要打开devtools,代码执行到debugger位置时,就会断点。而如若没有打开devtools...

2018-03-10 08:28:07

css实现页面切换效果

<!DOCTYPE><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><style>*{padding:0;margin:0

2018-03-04 11:24:08

数组扁平化

var arr=[1,2,[3,4,[5,6,{}]],7,8]; var toString=({}).toString; function plat(arr,_arr){ for(var i=0;i<arr.length;i++){ var item=arr[i]; if(toString.call(item)...

2018-03-03 18:20:20

对象扁平化

JavaScript如何将层级Json转换成平级Json,例如将{"A":{"a1":1,"a2":2},"B":{"b":3}}转换为{"A.a1":1,"A.a2":

2018-03-03 14:52:37

实现destructuringArray方法

阿里的一道面试提,实现es6的数组解构功能,并用对象形式返回达到如下效果//destructuringArray([1,[2,4],3],"[a,[b],c]");//result//{a:1,b:2,c:3}1.既然es6已经实现,调用es6解构后自己组装对象functiontest(arr,str){varo=newFunction...

2018-03-03 08:02:46

setTimeout解决循环值的几种方法

for(vari=0;i<5;i++){setTimeout(function(){console.log(`错误${i}`);},0)}for(vari=0;i<5;i++){(function(i){setTimeout(function(){...

2018-03-03 08:00:04

等于1的同时等于2

网上看到的一道面试题,感觉没太实际的用途,正好前段时间看 你不知道的javascript,里面有讲解,顺手抄来,其实就是利用了了对象与基本数据类型比较要转换为基本类型的隐式转换--调用对象的toString和valueOf方法而已var o={ a:0, valueOf:function(){ return ++this.a; ...

2018-02-23 22:05:05

日期格式化

const defaultFormat='yyyy/MM/DD HH:mm:ss MS d'; const REGS={ year:/y{2,4}/, month:/M{1,2}(?!S)/, date:/D{1,2}/, hour:/H{1,2}/, minute:/m{1,2}/, seco...

2018-02-23 21:52:52

获取对象多层级属性值

在开发中,我们常遇到获取对象的多层级属性值,例如a.b.c.d这种,则不免会遇到其中一层已经为undefined而导致后面取值报错。所以不得不做一次校验,类似 a.b&&a.b.c&&a.b.c.d这样,层级越多判断也越多。es未来提议以这种形式替换:a.b?.c?.d,但目前还没有得到浏览器的支持。所以很有必要做一个工具方法来简化书写,这里抛砖引玉一下functi...

2018-02-23 21:50:02

几种左边固定右边自适应的左右布局方式

*{ padding: 0; margin: 0; box-sizing: border-box; } body>div{ margin-top: 10px; } .fixed{ width: 100px;

2017-06-11 15:09:57

js实现sleep功能

class Test{ constructor(){ this.promise=Promise.resolve(); } showSomething(something){ this.promise=this.promise.then(()=>console.log(something));

2017-01-08 08:28:35

js二维数组转一维数组

面试的一道题,将二维数组转换为一维数组{constarr=[[1,2,3],[3,4],[5]];console.log([].concat.apply([],arr));}

2016-12-31 16:26:46

数组去重

面试时经常被问到数组去重的问题,个人觉得这种问题其实没太大的作用,毕竟在实际工作中很少能遇到的很大的数组,所以不论以什么样的方式实现都很难做到内存的溢出及产生较大的耗时差距(除非你是故意),这里以2的13次方乘以10个数组项为例,在不改变原数组的前提下,做了几种没考虑效率及内存的方法,仅以实现为目的{functioncreateTestArray

2016-12-31 11:51:37
勋章 我的勋章
  • 蓝花
    蓝花
    子板块内专家分月排名榜第三