摘要:
在前端项目开发与生产的过程中,“cannot read property of undefined”是一个常见的错误。从不可知得到一个空数据问题在所难免。面对这种问题我们该怎么办呢? 针对于特定的业务和数据,前端即使预知数据不存在,也无法处理,任其崩溃即可。但大部分情况下,如果因为列表某条数据出现错 阅读全文
摘要:
eslint 是很有名的 linter,地球上每一个 JavaScript 程序员都应该知道。 linter 是一种代码静态分析工具,它可以帮你找到代码中可能存在的错误与 bug,也能找出代码风格的问题,不过因为只是静态分析,对 js 这种动态类型的语言所能做的就比较有限了,毕竟在 js 中,变量的 阅读全文
摘要:
一、需求描述 长度不定的一段文字,最多显示n行(比如3行),不超过n行正常显示;超过n行则在最后一行尾部显示“展开”或“查看全部”之类的按钮,点击按钮则展开显示全部内容,或者跳转到其它页面展示所有内容。 预期效果如下: 二、实现原理 纯css很难完美实现这个功能,所以还得借助js来实现,实现思路大体 阅读全文
摘要:
记录一下怎样写出整洁规范的代码,用于共勉进步。对于什么是整洁的代码,书中给出了大师们的总结: Bjarne Stroustrup:优雅且高效;直截了当;减少依赖;只做好一件事Grady booch:简单直接Dave thomas:可读,可维护,单元测试Ron Jeffries:不要重复、单一职责,表 阅读全文
摘要:
问题复现 一次扒某网站的前端代码,打开控制台要看Network,结果发现他们页面一打开控制台就不断的debugger,100ms一次,很影响看页面内容。 问题分析 每次在断点处停下来的时候页面都会跳到source这个tab页面,也能够看到他的debugger的代码,其实他的实现很简单,只有这一行代码 阅读全文
摘要:
前言 在现在前端开发中,异步操作的频次已经越来越高了,特别对于数据接口请求和定时器的使用,使得我们不得不关注异步在业务中碰到的场景,以及对异步的优化。错误的异步处理可能会带来很多问题,诸如页面渲染、重复加载等问题。 下面我们就先简单的从 JavaScript 中有大致的哪几种异步类型为切入点,然后再 阅读全文
摘要:
接口 例如我们这定义一个叫做printPost的函数,那这个函数可以接收一个文章对象参数post,然后在函数的内部去打印文章的title, 然后再去打印他的content属性。 function printPost (post) { console.log(post.title); console. 阅读全文
摘要:
在创建一个函数并调用时可以传入一些参数或变量,不过函数究竟可以有多少可用的参数呢? 函数中的变量 以下通过一个例子来检查在调用函数时会有哪些变量和参数,在这里可以在浏览器的“无痕窗口”中直接运行这段代码(无痕窗口能避免浏览器插件影响运行)。 注意:这里仅仅针对传统函数,箭头函数的运行变量与传统函数不 阅读全文
摘要:
题目: 人民币由100元,50元,20元10元,5元1元,5毛,1毛面额组合。写一个方法随便传入一个数字参数,就输出人民币组合。比如传入1526.5就显示1526.5元由人民币100元15张,20元1张,5元一张1元一张5毛一张构成。无需考虑多种组合方式,只需考虑最简单的组合方式。 思考: 我们首先 阅读全文
摘要:
对于JavaScript中比较运算符,可能大家用的比较多的是“==”、对于“ ”很多人可能很陌生。 表示恒等,首先比较两边的变量数据类型是否相等,其次比较两边的变量的数值是否相等;== 表示相等即仅仅比较两边变量的数值是否相等。 一、“ ”首先计算其操作数的值,然后比较这两个值,比较过程没有任何类型 阅读全文