2 in_motion

尚未进行身份认证

程序员中猿

等级
TA的排名 4w+

为何有好多网站不常用table和iframe这两个元素?

iframe坏处:是一个单独的容器,因此不会应用全局的CSS样式会和网页共用域名连接池,因此可能由于iframe占用了连接数导致加载阻塞搜索引擎爬虫不易爬取,不利于SEO相比直接操作DOM元素,使用iframe更耗费资源好处:可以用其展示广告,可以避免由于添加广告而网站被爬虫拒绝收录的情况table坏处:table的内容会等内部的所有内容加载完成才会显示,比基于div+css...

2019-08-04 10:46:20

javascript填坑——系统地认知this

完整系统的掌握this,首先得明白严格模式和非严格模式会影响this指向。1.在全局执行环境下,无论是否严格模式,this都指向全局对象,比如平时前端开发<script>标签中://在浏览器中,window对象同时也是全局对象:console.log(this===window);//true2.简单调用(this没有被执行环境定义)且非严格模式下,thi...

2019-07-13 11:30:17

javascript单线程,浏览器多线程和任务队列

入门前端时仅仅知道js单线程,了解浏览器的事件循环,常常分不清js引擎在时间循环中扮演什么样的角色,甚至一度产生错误理解:js引擎的工作就是事件循环的全部。随着认识的拓宽和加深,了解了任务队列机制(macrotask队列和microtask队列)、浏览器事件触发和UI渲染后,明白了事件循环机制如下图所示:事件循环包含两个线程,js主线程(就是我们常说的js单线程引擎)和事件触发线程。事...

2019-07-06 11:22:00

CSS3的background-size属性

以前前端开发时写过一篇html标签内背景图片自适应div大小,用到了background-size属性,其实也就停留在刚好用来“救急”的地步,并未仔细了解。其实background-size属性是个CSS3属性,IE9+才支持,自己做做小项目就罢了,在大公司需要考虑兼容性的情况下随手就用往往弄巧成拙。他还有五个不同取值——默认值auto、length、percentage、cover、con...

2019-03-28 16:56:00

为什么要使用TypeScript?TypeScript和js区别在何处?

二者的主要区别为:TypeScript是静态类型,js是动态类型(详见强类型、弱类型、静态类型、动态类型的区别)。但这不意味着两者差距多大,只是类型检查的时机不同而已,TS和js根本上的差别就这一点,然而其意义却举足轻重。静态类型检查可以做到earlyfail,即你编写的代码即使没有被执行到,一旦你编写代码时发生类型不匹配,语言在编译阶段(解释执行也一样,可以在运行前)即可发现,同时ID...

2019-02-27 14:55:38

强类型、弱类型、静态类型、动态类型的区别

弱类型:容忍隐式类型转换。比如js中:1+'a'>'1a'以及c中double可以隐式转换为int强类型:不容忍隐式类型转换。比如python中:>>>"1"+2Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeErro...

2019-02-27 14:24:13

关于大前端的思考,找准大方向

路人大可当篇技术散文来读读,但对我本人的作用是警醒和规约。上半年对前后端分离颇有感触,于是写下关于前后端分离的思考,找准大方向。前端风云,日新月异,九个月的光景竟足以让我心生烂柯之感了。回顾以前的结论,前端还在为摆脱“我不仅仅是页面,我有三大框架和node,我能在项目中有更大更明确的定位”奔走呼号,仿佛一个叛逆期的少年,在后端爸爸和产品妈妈的屋檐下闹腾。如今,"儿已成人,当游历四海,遍访豪杰,...

2018-12-21 16:44:25

Google API调用方式总结——前端js调用和后端各种语言调用

实习期间接到需求,期望能在.net框架下的前端调用googledriveapi,并持有access_token和refresh_token以保持和googleapi的长时间连接(单独acccess_token只能维持3600秒访问时间)。然而亲测前端使用纯js调用gapi只能获得access_token,无法同时得到refresh_token,最接近成功的方法如下:GoogleAu...

2018-08-10 13:04:44

Laserfiche实习记(一)

公司是一家座落在上海黄浦江畔的外企,目前国内分部规模不大,约莫30到50人,hr形容:正处于稳步扩张阶段。目前实习三天。第一天公司报到,去酒店安顿好之后回到公司配置开发环境,出身“环境配置学院”的我预感这必不简单。果然,这台电脑的前任是搞测试的,对项目进行过五花八门的测试性配置,简直是在项目无法build的边缘疯狂试探。初来乍到的我按照指示进行配置,自己尽所能躲避一些坑之后还是不敌乱七八糟的....

2018-07-26 10:01:58

overflow:hidden对于溢出到padding的内容不隐藏

盒子模型的内容区域其实包括content+padding,即paddingbox,虽然正常情况下元素只在content内排布,但是当内容溢出到padding也是允许的,故overflow:hidden对此不做影响。利用这个特性,我们可以使用div的padding为图片占位,防止图片加载出现抖动现象:<divclass="wrapper"><img...

2018-06-24 20:35:12

html文字溢出显示省略号

直接上代码:  overflow:hiddenwhite-space:nowrap-ms-text-overflow:ellipsistext-overflow:ellipsis

2018-06-23 21:33:09

由BFC导致的display:inline-block的特殊性

入门了前端的应该都知道inline-block是以内联块级特性,即该元素既具有块状元素的盒子模型又具有内联元素的不独占一行特性。于是结论认为inline-block和block除了不独占一行外其余特性皆相同。然而,事实并非如此纯粹简单,inline-block还具有一些细节特性,不求甚解有时会阻碍我们的布局。目前在项目实践中积累了两个细节:1.inline-block虽然具有盒子模型,但是marg...

2018-06-23 20:28:23

Vue项目路径别名设置

用vue-cli搭建好vue项目之后,进入正式开发过程,有时候会发现各种import路径中都存在长串的重复路径,比如:import'src/assets/styles/reset.css'import'src/assets/styles/border.css'为了方便维护,可以打开build文件下的webpack.base.conf.js文件,在module.exports中找到resolv...

2018-06-23 10:26:46

腾讯、今日头条前端面经

有一个月没写博客了,主要忙于面试准备——刷面经、刷题,《剑指offer》刷了一大半,期间一边准备一遍面试,发现前端岗位没有想象中那么好找——最早面阿里准备不足被血虐,后来面腾讯和头条感觉良好(绝大多数问题都会)却依然凉凉,到最后成功得到上海某外企小厂的offer,一路上发现自己真的有诸多不足,所以今后要夯实基础,深挖特长,秋招继续锻炼。最早的阿里面试没有存留面经,先将之后两次的失败面经分享出来,自...

2018-06-22 21:56:35

行内元素细分——行内置换元素和非行内置换元素

以前有个误解:行内元素没有宽高。后来在开发项目时突然发现<img>是行内元素,而它恰恰可以设置宽高。查阅资料后发现如果一个行内元素同时也是置换元素(展示内容由其属性决定),它也就可以定义宽高了。...

2018-06-22 21:36:42

Android appium测试找不到组件问题

刚入坑Android测试,跋山涉水终于配好了所有环境但是滑动屏幕和点击按钮却莫名其妙报错,总之就是没有获取到组件。其实,问题很简单,执行到测试代码时,uiautomator还没来得及获取到该页面,所以解决方法也很简单:Thread.sleep适当的时间(根据该页内容加载的速度来定)即可。...

2018-05-22 10:01:02

Android7手机解决无法运行appium脚本的问题

1、找到appium的安装目录下的adb.js文件,windows版本的目录如下:Appium\node_modules\appium\node_modules\appium-adb\lib2、打开adb.js,手动修改该文件下的内容:ADB.prototype.getPIDsByName=function(name,cb){logger.debug("Gettingallpro...

2018-05-22 09:51:09

Promise的执行原理——macrotask和microtask

要理解Promise的执行原理,首先要知道EMCAScript的任务队列机制——macro-task(宏任务)和micro-task(微任务)。浏览器先执行一个macrotask,在执行macrotask过程中可能会创建新的macrotask和microtask,然后顺序执行micro-task队列中的全部任务,然后再取出一个macrotask执行……周而复始。整个script代码是一个macro...

2018-05-01 11:10:15

react开发:从零开始搭建一个react项目

有前端基础的程序猿入门react,推荐链接:https://blog.csdn.net/generon/article/details/73921055虽然比较长但是都是要点,掌握之后基本就能上手react开发了,不过route等后续模块并没有涉及,之后我会补充。...

2018-04-21 21:45:47

Android自定义Toolbar的Menu图标且点击后弹出对话框

经常会碰到这样的需求:界面右上角有个图标,点击一下之后弹出一个会话框,比如举报、选择额外功能之类,很多app都要实现。现归纳一种实现方式。首先添加menu,监听菜单的点击事件,点击时弹出一个dialog:@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.men...

2018-04-16 20:32:14

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!