js

core-js报错

送分小仙女□ 提交于 2020-01-22 04:09:41
报错: Can’t resolve ‘E:\……\node_modules\core-js\modules\es.array.iterator.js’ 原因: core-js版本问题,下载最新版本core-js即可。 解决过程: 1、查看node_modules下没有core-js,于是安装npm i core-js@2,还是报错!! 2、再查看node_modules下的core-js,里面确实没有es.array.iterator.js。 3、查看package-lock.json文件,里面引用的都是3以上的版本,比如 package-lock.json: "dependencies": { "core-js": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.5.0.tgz", "integrity": "sha512-Ifh3kj78gzQ7NAoJXeTu+XwzDld0QRIwjBLRqAMhuLhP3d2Av5wmgE9ycfnvK6NAEjTkQ1sDPeoEZAWO3Hx1Uw==", "dev": true } } 4、于是删掉node_modules下的core-js文件夹,重新执行命令npm i core-js,下载的版本还是2,还是报错。 5

js 数组去重

谁说我不能喝 提交于 2020-01-22 04:08:00
总结一些数组去重,首先定义一个数组 var arry1=[1,5,6,4,8,4,5,5,40,4,50,7,4,55,6,5,444,5,4,4,2,4,5,7,8,8]; 1、最常用的,新建数组利用循环进行数组比对,小数组可以,大的性能不佳。 function removeDuplicatedItem1(ar) { var rest=[]; for(var i=0;i<ar.length;i++){ if (rest.indexOf(ar[i])==-1){ rest.push(ar[i]) }else { console.log(1) } } return rest; } console.log(JSON.stringify(removeDuplicatedItem3(arry1))) //[1,5,6,4,8,40,50,7,55,444,2] 2、推荐使用的,利用对象保存数组for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入对象中。每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。 function removeDuplicatedItem2(ar) { var rest=[]; var object={}; for(var i=0;i<ar

artTemplate 原生 js 模板语法版

拜拜、爱过 提交于 2020-01-22 03:45:55
在页面中引用模板引擎: <script src="dist/template-native.js"></script> 下载 表达式 <% 与 %> 符号包裹起来的语句则为模板的逻辑表达式。 输出表达式 对内容编码输出: <%=content%> 不编码输出: <%=#content%> 编码可以防止数据中含有 HTML 字符串,避免引起 XSS 攻击。 逻辑 支持使用 js 原生语法 <h1><%=title%></h1> <ul> <%for(i = 0; i < list.length; i ++) {%> <li>条目内容 <%=i + 1%> :<%=list[i]%></li> <%}%> </ul> 模板不能访问全局对象,公用的方法请参见文档 辅助方法 章节 模板包含表达式 用于嵌入子模板。 <% include('template_name') %> 子模板默认共享当前数据,亦可以指定数据: <% include('template_name', news_list) %> 辅助方法 使用 template.helper(name, callback) 注册公用辅助方法,例如一个基本的 UBB 替换方法: template.helper('$ubb2html', function (content) { // 处理字符串... return content; });

JS事件

耗尽温柔 提交于 2020-01-22 00:52:03
通常鼠标或热键的动作我们称之为事件(Event) 通过JS事件,我们可以完成页面的指定特效 1、JS事件驱动机制 页面上的特效,我们可以理解在JS事件驱动机制下进行 JS事件驱动机制: 事件源 事件 监听器 注册/绑定监听器 事件源:专门产生事件的组件 事件:由事件源所产生的动作或者事件 监听器:专门处理事件源所产生的事件 注册/绑定监听器:让监听器时刻监听事件源是否有指定事件产生,如果事件源产生指定事件,则调用监听器 2、常见的JS事件 来源: https://www.cnblogs.com/liang-xp/p/12227493.html

js 下载 文件

时光毁灭记忆、已成空白 提交于 2020-01-22 00:39:11
创建upload.js 文件 /** * 获取 blob * @param {String} url 目标文件地址 * @return {Promise} */ function getBlob(url) { return new Promise(resolve => { const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = () => { if (xhr.status === 200) { resolve(xhr.response); } }; xhr.send(); }); } /** * 保存 * @param {Blob} blob * @param {String} filename 想要保存的文件名称 */ function saveAs(blob, filename) { if (window.navigator.msSaveOrOpenBlob) { navigator.msSaveBlob(blob, filename); } else { const link = document.createElement('a'); const body = document.querySelector('body');

01.JavaScript基础语法

梦想的初衷 提交于 2020-01-22 00:38:33
- JavaScript :编程语言 JavaScript能干什么 1. 常见的网页效果【表单验证,轮播图。。。】 2. 与H5配合实现游戏【水果忍者: http://www.jq22.com/demo/html5-fruit-ninja/】 3. 实现应用级别的程序【http://naotu.baidu.com】 4. 实现统计效果【http://echarts.baidu.com/examples/】 5. 地理定位等功能【http://lbsyun.baidu.com/jsdemo.htm#i4_5】 6. 在线学编程【https://codecombat.163.com/play/】 7. js可以实现人工智能【面部识别】 8. 。。。 JavaScript的组成 1. ECMASCRIPT: 定义了javascript的语法规范,描述了语言的基本语法和数据类型 2. BOM (Browser Object Model): 浏览器对象模型 - 有一套成熟的可以操作浏览器的 API,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等 3. DOM (Document Object Model): 文档对象模型 - 有一套成熟的可以操作页面元素的 API,通过 DOM 可以操作页面中的元素。比如: 增加个 div,减少个 div,给div 换个位置等 总结:

js懒加载和预加载的对比

对着背影说爱祢 提交于 2020-01-21 23:53:02
什么是预加载什么是懒加载 预加载:顾名思义就是提前加载,比如提前加载图片。当用户需要查看时,可直接从本地缓存中取。 预加载的优点在于如果一张图片过大,那么请求加载图片一定会慢,页面会出现空白的现象,用户体验感就变差了,为了提高用户体验,先提前加载图片到本地缓存,当用户一打开页面时就会看到图片。 实现方式: 1、虚拟代理实现图片预加载 关键在于new 一个image对象,当图片对象的onload事件被触发时设置真实的图片路径。这是最常用的方式 2、在CSS background中加载:会增加页面的整体加载时间 应用场景:某个效果切换按钮需要临时切换一张图片,如果图片不预先加载,页面会出现短暂的空白影响用户体验。 懒加载:懒加载就是需要用到的时候才去加载,也称是延迟加载。 懒加载的优点在于如果在页面一加载的时候就加载全部图片,这样会影响网站加载速度和加大服务器负担,而且用户体验也必然不好,那么这时候可以采用懒加载。懒加载会减轻服务器的压力,减少一次性请求的压力和延迟请求,是服务器前端的优化。 实现方式 1、将img的src属性先使用一张本地占位符,或者为空。然后真实的图片路径再定义一个data-img属性存起来,待达到一定条件的时将data-img的属性值赋给src。 来源: CSDN 作者: Miss_hhl 链接: https://blog.csdn.net/Miss_hhl

selenium 常见操作,js操作-将元素滚动到页面可见区域

删除回忆录丶 提交于 2020-01-21 23:16:49
  我们在自动化测试中,会遇到需要把浏览器页面的元素移动到可见区域,就需要使用页面向上或者向下滚动 js操作-滚动条:使用: selenium 当中使用 execute_script (译:埃克斯Q特。思怪泼特) 方法 执行 js 语句; 页面元素滚动到可见区域常用的操作: 1、 移动到元素element对象的“底端”与当前窗口的“底部”对齐: driver.execute_script("arguments[0].scrollIntoView(false);",element) 2、移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 : driver.execute_script("arguments[0].scrollIntoView();",element) 3、移动到页面底部: driver.execute_script("window.scrollTo(0,document.body.scrollHeight)") 4、移动到页面顶部: driver.execute_script("window.scrollTo(document.body.scrollHeight,0)") 将元素滚动到可见区域 :百度查询“电脑”,将“电脑_百度百科”移动到底部。 1、需要滚动的对象:先定位元素 2、js的滚动语句: 上面的四种方法 from selenium import

JS实现浏览器打印、打印预览

故事扮演 提交于 2020-01-21 22:09:58
1.JS实现打印的方式 方式一:window.print() window.print();会弹出打印对话框,打印的是window.document.body.innerHTML中的内容,下面是从网上摘到的一个局部打印的例子,该例子的不足是打印会修改页面的内容。 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>局部打印案例</title> <script type="text/javascript"> function doPrint() { if (confirm('确定打印吗?')){ try{ print.portrait = false ;//横向打印 }catch(e){ //alert("不支持此方法"); } bdhtml=window.document.body.innerHTML; sprnstr="<!--startprint-->"; eprnstr="<!--endprint-->"; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));

Js学习小结(一)undefined 和 null

六眼飞鱼酱① 提交于 2020-01-21 18:45:23
JavaScript的数据类型 数值 布尔 字符串 对象(广义) 数据 函数 Object(狭义) undefined null undefined出现的情况: 变量声明且没赋值时。 获取对象中不存在的属性时。 函数有形参但没传实参时。 调用没返回值或 return 后没有数据的函数的返回值时。 null出现的情况: 对象不存在 来源: https://www.cnblogs.com/fpgz99810/p/12222693.html