JS比较两个数组是否完全相同(超简单)
Code Is Never Die !
// 假设两个数组arr1、arr2var arr1=["11","22","33"];var arr2=["11","33","44"];// 定义变量用于标志var arr_status;// 判断两个数组长度是否相同if(arr1.length == arr2.length){ // 循环arr1 for (var x = 0; x < arr1.length; x++) { // 默认arr_status 为1 arr_status = 1; // if (arry2.indexOf(arr1[x]) == -1) { if (arr2[x] != arr1[x]) { // 只要有arr2中查不到arr1的元素,代表不相等 arr_status = 0; break; ...
前端面试基本---forEach、filter、some大合集
Code is never die !
1.0 数组方法 forEach 遍历数组 ***
语法:
var arr = [1,2,3];arr.forEach(function(value, index, array) { //参数一是:数组元素 //参数二是:数组元素的索引 //参数三是:当前的数组 }) //相当于数组遍历的 for循环 没有返回值function forEach(fn){ for(var i=0;i<this.length;i++){ fn(this[i],i,this); }}
代码:
<script> // forEach 迭代(遍历) 数组 var arr = [1, 2, 3]; var sum = 0; arr.forEach(function(value, index, array) { console.log('每个数组元素' + va ...
使用Echarts出现的一些问题......
Code Is Never Die !
一、Echarts图表显示大小与屏幕之间的问题终极解决方案: window.onresize = myChart.resize
P1.页面中只有一个Echarts图
<div id="echartFirst"></div>......var myChart = echarts.init(document.getElementById('echartFirst'));var options = {//图表配置项....}myChart.setOption(options)window.onresize = myChart.resize
P2.页面中存在多个Echarts图
<div id="echartFirst"></div><div id="echartSecond"></div><div id="echartThird"></div&g ...
前端面试基本---函数的定义和调用
Code is never die !
1.0 函数的定义方式
方式 1: 函数声明方式 function 关键字 (命名函数)
function fn() {}
方式 2: 函数表达式(匿名函数)
var fn = function () {};
方式 3: new Function() (函数也是对象,所以可以 new)(了解)
var f = new Function('a', 'b', 'console.log(a + b)');f(1, 2);var fn = new Function('参数1','参数2'..., '函数体')
注意:
Function 里面参数都必须是字符串格式
第三种方式执行效率低,也不方便书写,因此较少使用
所有函数都是 Function 的实例(对象)
函数也属于对象
2.0 函数的调用/* 1. 普通函数 */function fn() { console.log( ...
Electron“安装已中止,安装程序未成功地运行完成”
Code Is Never Die !
最近在使用Electron桌面化程序时(官方定义:使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序),打包成exe文件时出了点问题,特此记录一下,同时分享给大家。
本人打包安装的是使用比较多的electron-builder进行项目的打包,yarn build后会在build文件夹下生成 .exe 程序安装包,点击安装时出现了如图问题:检查了一下package.json的配置情况,发现一切配置也都正常,并未发现错误,安装路径也没错误。
PS:这里补充一下electron安装时的两种情况:(1)点击直接安装,无需选择路径,默认放到C盘默认目录下(2)自定义安装路径,如下所示好的,回到整体上,检查完之后,发现并没有配置方面的问题,在中止页面看起来好像是能正常安装,好像是和哪产生冲突了,因为提示的是中止而不是出错/失败。考虑是不是自己电脑前面已安装过此程序,未删除干净造成的,所以一方面在其他电脑测试了,另一方面找到自己电脑程序与功能面板,查看是否有残余。综上发现:(1)在另台电脑上可以正常安装;(2)在原电脑上找到了未卸载彻底 ...
服务器开发的网站http登录失败,必须https登录
Code Is Never Die !
公司系统使用默认(也就是http方式登录)都会出现问题应该是之前做了https的安全验证,但是有的时候默认输入地址是http的,所以往往会造成一定的不方便。考虑最简单的就是让系统自动使用https下访问在头部增加如下一行代码:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
这样访问不管是http/https都会自动跳到https下,可以避免登录迷之操作发生
离开页面提示beforeunload和unload的事件应用
Code Is Never Die !
需求: 在用户离开页面之前给一个提示,选择是否确认离开,并且用户确认离开的话,需要发出一个请求。
代码:
<!DOCTYPE HTML><html><body> <script> // 只有屏幕和用户互动过后,用户离开页面(关闭、刷新、跳转其他页面)才会触发 window.onbeforeunload = event => { console.log('onbeforeload!!!!!') if (event) { event.returnValue = '关闭提示'; } } // 不管有没有和用户互动过,只要用户离开页面(关闭、刷新、跳转其他页面)就会触发 window.onunload = () => { ...
你需要知道的 15 个很棒的 CSS 动画库
从一种 CSS 样式配置到另一种的过渡可以使用 CSS 动画进行动画处理。描述 CSS 动画的样式和指示动画样式的开始和结束状态的一组关键帧,以及可能的中间路点,构成了动画。
与传统的脚本驱动动画技术相比,CSS 动画提供了三大优势:
它们很容易用于简单的动画;你甚至不需要知道 JavaScript 来制作它们。
即使系统负载适中,动画也能正常工作。在 JavaScript 中,简单的动画通常运行不佳。为了使性能尽可能流畅,渲染引擎可以使用跳帧和其他方法。
例如,允许浏览器调节动画序列允许浏览器通过限制当前不可见的选项卡中动画的更新频率来提高性能和效率。
虽然大多数动画都可以使用纯 CSS 完成,但你可以使用动画库和框架在更短的时间内创建更好的动画。
Animate.css官网地址;https://animate.style/
Anime.js官网地址:https://animejs.com/
Anime.js (/ˈæn.ə.meɪ/) 是一个轻量级的 JavaScript 动画库,具有简单但功能强大的 API。它适用于 CSS 属性、SVG、DOM 属性和 JavaScript 对 ...
前端mockjs虚拟数据__留备使用
Code Is Never Die !
1.0 Vue环境下2.0 引入mock.js文件在main.js中引入mock.js
3.0 mock.js文件拦截ajax请求,返回mock数据const Mock = require('mockjs')// 返回字符串Mock.mock('/api/data', (req, res) => { return Mock.mock({ 'string|3': '*' })})// 返回指定范围的整数Mock.mock('/api/getInteger', (req, res) => { return Mock.mock({ 'a|1-100': 100 })})// 返回随机个数的对象Mock.mock('/api/getObject', (req, res) =& ...
前端面试基本---JavaScript严格模式
Code is never die !
1.0 什么是严格模式
JavaScript 除了提供正常模式外,还提供了严格模式(strict mode)。
ES5 的严格模式是采用具有限制性 JavaScript 变体的一种方式,即在严格的条件下运行 JS 代码。
严格模式在 IE10 以上版本的浏览器中才会被支持,旧版本浏览器中会被忽略。
严格模式对正常的 JavaScript 语义做了一些更改:
1.消除了 Javascript 语法的一些不合理、不严谨之处,减少了一些怪异行为。
2.消除代码运行的一些不安全之处,保证代码运行的安全。
3.提高编译器效率,增加运行速度。
4.禁用了在 ECMAScript 的未来版本中可能会定义的一些语法,为未来新版本的 Javascript 做好铺垫。比如一些保留字如:class,enum,export, extends, import, super 不能做变量名
2.0 开启严格模式严格模式可以应用到整个脚本或个别函数中。
因此在使用时,我们可以将严格模式分为为脚本开启严格模式和为函数开启严格模式两种情况。
情况一 :为脚本开启严格 ...