一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Frontend

这些一行 JS 实现功能的代码,让你看起来像一个前端专家

JavaScript 可以做很多神奇的事情! 从复杂的框架到处理 API,有太多的东西需要学习。 但是,它也能让你只用一行代码就能做一些了不起的事情。 看看这 13 句 JavaScript 单行代码,会让你看起来像个专家! 1. 获取一个随机布尔值 (true/false) 这个函数使用 Math.random() 方法返回一个布尔值(true 或 false)。Math.random 将在 0 和 1 之间创建一个随机数,之后我们检查它是否高于或低于 0.5。这意味着得到真或假的几率是 50%/50%。

  2. 检查日期是否为工作日 使用这个方法,你就可以检查函数参数是工作日还是周末。

  3. 反转字符串 有几种不同的方法来反转一个字符串。以下代码是最简单的方式之一。

  4. 检查当前 Tab 页是否在前台 我们可以通过使用 document.hidden 属性来检查当前标签页是否在前台中。

  5. 检查数字是否为偶数 最简单的方式是通过使用模数运算符(%)来解决。如果你对它不太熟悉,这里是 Stack Overflow 上的一个很好的图解。

  6. 从日期中获取时间 通过使用 toTimeString() 方法,在正确的位置对字符串进行切片,我们可以从提供的日期中获取时间或者当前时间。

  7. 保留小数点(非四舍五入) 使用 Math.pow() 方法,我们可以将一个数字截断到某个小数点。

  8. 检查元素当前是否为聚焦状态 我们可以使用 document.activeElement 属性检查一个元素当前是否处于聚焦状态。

  9. 检查浏览器是否支持触摸事件

  10. 检查当前用户是否为苹果设备 我们可以使用 navigator.platform 来检查当前用户是否为苹果设备。

  11. 滚动到页面顶部 […]

龙生   26 Jan 2021
View Details

Blockquote

Blockquote 对象 Blockquote 对象代表着一个 HTML 引用(blockquote)块元素。 <blockquote> 标签定义摘自另一个源的块引用。 一个 <blockquote> 元素的内容通常展现为一个左、右两边进行缩进的段落。 在 HTML 文档中的每一个 <blockquote> 标签创建时,都会创建一个 Blockquote 对象。   from:

龙生   25 Jan 2021
View Details

JS数据类型转换

显式转换 其他数据类型转换成Number 将其他数据类型的值转化为数值时,有几种方法? Number() parseInt() parseFloat() +/- (一元操作符) 说一说上面方法的异同? 它们都是可以将非数值转化为数值,不同点如下:

  规则 除以下情况外能正常转化为数字,其余全为NaN

  其他数据类型转换成String 将其他数据类型的值转化为字符串时,有几种方法? 其他数据类型的值.toString() String(其它数据类型的值) 说一说上面方法的异同?

  规则 字符串拼接时,加号两边如果出现字符串或者引用类型的值({}、[]、function(){}),都会变成字符串拼接(因为原本应该是把引用类型的值转为数字,但是需要先转为字符串,遇到字符串就直接变成字符串拼接了)

 

  其他数据类型转换成Boolean 将其他数据类型的值转化为布尔值时,有几种方法? ! 转换为布尔类型后取反 !! 转换为布尔类型 Boolean 规则?

  隐式转换 isNaN、Math方法

  + 操作

  == 「类型一样的几个特殊点」

  2.「类型不一样的转换规则」

  作者:妍等等xy 链接:https://juejin.cn/post/6920236688224550925 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

龙生   25 Jan 2021
View Details

CSS 奇思妙想边框动画

今天逛博客网站 — shoptalkshow,看到这样一个界面,非常有意思: 觉得它的风格很独特,尤其是其中一些边框。 嘿嘿,所以来一篇边框特辑,看看运用 CSS,可以在边框上整些什么花样。 border 属性 谈到边框,首先会想到 border,我们最常用的莫过于 solid,dashed,上图中便出现了 dashed。 除了最常见的 solid,dashed,CSS border 还支持 none,hidden, dotted, double, groove, ridge, inset, outset 等样式。除去 none,hidden,看看所有原生支持的 border 的样式: 基础的就这些,如果希望实现一个其他样式的边框,或者给边框加上动画,那就需要配合一些其他属性,或是脑洞大开。OK,一起来看看一些额外的有意思的边框。 边框长度变化 先来个比较简单的,实现一个类似这样的边框效果: 这里其实是借用了元素的两个伪元素。两个伪元素分别只设置上、左边框,下、右边框,通过 hover 时改变两个伪元素的高宽即可。非常好理解。

CodePen Demo — width border animation 接下来,会开始加深一些难度。 虚线边框动画 使用 dashed 关键字,可以方便的创建虚线边框。

当然,我们的目的是让边框能够动起来。使用 dashed 关键字是没有办法的。但是实现虚线的方式在 CSS 中有很多种,譬如渐变就是一种很好的方式:

看看,使用渐变模拟的虚线如下: 好,渐变支持多重渐变,我们把容器的 4 个边都用渐变表示即可:

效果如下: OK,至此,我们的虚线边框动画其实算是完成了一大半了。虽然 border-style: dashed 不支持动画,但是渐变支持呀。我们给上述 div 再加上一个 hover 效果,hover 的时候新增一个 animation 动画,改变元素的 background-position 即可。

OK,看看效果,hover 上去的时候,边框就能动起来,因为整个动画是首尾相连的,无限循环的动画看起来就像是虚线边框在一直运动,这算是一个小小的障眼法或者小技巧: 这里还有另外一个小技巧,如果我们希望虚线边框动画是从其他边框,过渡到虚线边框,再行进动画。完全由渐变来模拟也是可以的,如果想节省一些代码,使用 border 会更快一些,譬如这样:

由于 border 和 background 在盒子模型上位置的差异,视觉上会有一个很明显的错位的感觉: 要想解决这个问题,我们可以把 border 替换成 outline,因为 outline […]

龙生   25 Jan 2021
View Details

js实现保存文件到本地

  from:https://www.cnblogs.com/frost-yen/p/10226705.html

龙生   19 Jan 2021
View Details

js解析websocket二进制数据包

js解释数据包 做一个项目,服务器要给我发一个数据包,格式为,前面16位short,后32位int,后面就全是string,我用javascript怎么去把这个数据包解读出来?   用WebSocket,接收到的就是一个Blob对象.而我要给服务器返回的也是这种格式,我又怎么把我的数据封装成这样的数据包? ——解决方案——————--

  from:https://blog.csdn.net/woxingwosu0100/article/details/51273523/

龙生   16 Jan 2021
View Details

JS字符串与二进制的相互转化

  十进制转二进制

 

转载请注明出处:http://www.cnblogs.com/it-deepinmind/ from:https://www.cnblogs.com/it-deepinmind/p/7430025.html  

龙生   16 Jan 2021
View Details

axios全局设置url公共请求头

需求由来: 公司项目外链到别公司项目或者网页(通俗的说就是通过别的随意网页跳转至你项目网页),这时公司项目就要区分是从哪个公司或者哪个网页跳转过来的,从而进行不同的接口请求(公司所有接口都要带上请求头)。大部分做法都是设置请求头来区分。做法如下: 废话不多说   直接上代码  通俗易懂: 新建一个配置文件requst.js  内容如下

  接下来就是在main.js引入就行了 如下:

上诉内容就是设置公共请求头的内容了。   from:https://www.cnblogs.com/ljx20180807/p/9766699.html

龙生   08 Jan 2021
View Details

Vue 子组件与父组件之间的 双向数据绑定

方法一(常规) 父组件传递数据到子组件; 子组件将数据转成本地数据

  但是此时,父组件如果更新了name 值,但是子组件中的 iName 不会随之更改;所以要监听父组件传入数据的变化,随之更新子组件;

  此时,父组件更新 name ,子组件展示出来的数据(iName)会随之变化,但是子组件修改数据,父组件不会变化,所以需要监听子组件数据(iName)的变化,通知父组件进行更新

  方法二(自定义 v-model 双向数据绑定) 自定义组件中使用 v-model 进行双向数据绑定,相当于;

  方法三(.sync 修饰符)

  拆开后

    from:https://blog.csdn.net/qq_39125684/article/details/90380268

龙生   08 Jan 2021
View Details

ES5 数组方法map

概述 map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。 语法 array.map(callback[, thisArg]) 参数 callback 原数组中的元素经过该方法后返回一个新的元素。 currentValue callback 的第一个参数,数组中当前被传递的元素。 index callback 的第二个参数,数组中当前被传递的元素的索引。 array callback 的第三个参数,调用 map 方法的数组。 thisArg 执行 callback 函数时 this 指向的对象。 例子:将数组中的单词转换成对应的复数形式. 下面的代码将一个数组中的所有单词转换成对应的复数形式.

例子:求数组中每个元素的平方根 下面的代码创建了一个新数组,值为原数组中对应数字的平方根。

例子:在字符串上使用 map 方法 下面的例子演示如在在一个 String  上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组:

使用技巧案例 通常情况下,map 方法中的 callback 函数只需要接受一个参数,就是正在被遍历的数组元素本身。但这并不意味着 map 只给 callback 传了一个参数。这个思维惯性可能会让我们犯一个很容易犯的错误。

兼容旧环境(Polyfill) map 是在最近的 ECMA-262 标准中新添加的方法;所以一些旧版本的浏览器可能没有实现该方法。在那些没有原生支持 map 方法的浏览器中,你可以使用下面的 Javascript 代码来实现它。所使用的算法正是 ECMA-262,第 5 版规定的。假定Object, TypeError, 和 Array 有他们的原始值。而且 callback.call 的原始值也是 Function.prototype.call

参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map   from:https://www.cnblogs.com/leejersey/p/5462427.html

龙生   31 Dec 2020
View Details
1 12 13 14 59