javaScript
javascript
lumanman_w
这个作者很懒,什么都没留下…
展开
-
异步是如何实现的?
Javascript是单线程语言,实现异步操作是在事件循环中进行的#mermaid-svg-cqh2uFQOlxP4VzuH .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-cqh2uFQOlxP4VzuH .label text{fill:#333}#mermaid-svg-cqh2uFQOlxP4VzuH原创 2021-09-26 15:41:25 · 238 阅读 · 0 评论 -
js是一门什么样的语言
1、脚本语言,不需要编译,可以由解释器直接运行2、弱类型语言,声明时不需要明确变量的类型,赋值给它什么类型,它就是什么类型3、面向对象。将事物当做一个对象来看待,对象中有属性和方法,使用对象的时候不需要考虑具体的实现过程,只需要调用其中的方法即可...原创 2021-09-26 15:02:51 · 198 阅读 · 0 评论 -
input光标的移动和选中
方法一input.setSelectionRange(opsStart,opsEnd);setSelectionRange方法用于设定<input> 或 <textarea> 元素中当前选中文本的起始和结束位置。当opsStart和opsEnd相同时,可用于定位光标位置。setSelectionRange实际上是改变了selectionStart 和 selectionEnd属性,所以也可以通过直接修改这两个属性来实现方法二input.selectionSt原创 2020-12-03 17:13:51 · 2818 阅读 · 0 评论 -
数组字符串常用操作总结(一)
1、数组合并--concat()将两个数组合并成一个新的数据,不影响原来数组的值let arrA = [1,2,3];let arrB = [4,5,6];let arrC = arrA.concat(arrB); // arrC [1,2,3,4,5,6]2、数组过滤--filter()筛选出的数据生成一个新的数组,不影响原来数组的值let arrFilter = arrC.filter(item=>{ return item > 4});//原创 2020-11-30 19:07:43 · 142 阅读 · 0 评论 -
正则拼接字符串
// 直接写正则;let reg_1 = /aabc/;// 拼接字符串let text = 'aa';let reg_2 = RegExp(text + 'bc'); let reg_3 = RegExp(text + 'bc','gi'); console.log(reg_2); // /aabc/console.log(reg_3); // /aabc/gi原创 2020-11-30 17:41:35 · 2549 阅读 · 0 评论 -
Ember项目引入js依赖
1、每个ember-cli managing dependencies,第三方库,jQuery插件等通过bower安装2、bower install --save http://example.com/js/myjsfile.js以jsPDF和html2canvas为例:# 下载安装bower install --save https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.jsbower install --save原创 2020-10-16 11:07:58 · 190 阅读 · 0 评论 -
jsPDF in Emberjs: 导出界面为pdf
在Ember项目中,引入jspdf实现前端界面导出成pdf界面,出现以下问题:Uncaught Error: an unsupported module was defined, expected `define(name, deps, module)` instead got: `1` arguments to define`搜索解决办法如下: if (typeof module === 'object') { module.exports = callback(); } else i原创 2020-10-16 11:09:08 · 118 阅读 · 0 评论 -
slideDown和slideUp初始状态设置,使用animate替代
使用jquery的slideDown展开效果时,需要使用slideUp效果关闭,才能使用slideDown效果展示,在处理初始状态时,需要先执行收起操作,会出现界面闪动的问题,造成界面不干净。slideDown和slideUP的实质是{display:show}和{display:none}如果使用{display:none}设置初始状态,slideDown的效果并不能展示所以,经研究使用了animate方法来代替slideDown和slideUP方法// jS文件function s原创 2020-09-23 11:09:17 · 904 阅读 · 0 评论 -
火狐浏览器title显示不全
title = 'http://111.111.111.111/index/aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhh'火狐浏览器中的title遇到长单词不会自动换行,导致title显示不全。解决思路:由于遇到空格会自动换行,所以,先将字符串按空格划分,然后判断每一部分的长度,(经实验发现一般长度超出68~70就会出现显示不全的问题),如果长度超过68,则添加一个空格,这样...原创 2020-09-22 18:20:15 · 969 阅读 · 0 评论 -
常用JS dom操作
1、元素1、创建元素let para = document.createElement("p"); // 创建新元素<p>let node = document.createTextNode("这是一个新的文本节点"); // 创建一个新的文本节点para.appendChild(node); // 将文本节点添加为p元素的子节点2、添加元素parent.insertBefore(child1, child0); // 在parent节点的子节点child1节点之前添加child原创 2020-05-19 20:10:54 · 148 阅读 · 0 评论 -
合并数组并去重
let a = [1, 2, 3, 4];let b = [2, 4];let c = new Set([...b, ...a]); // Set对象的特性,成员的值是唯一的,从而达到去重的目的let s = Array.from(c); // Array.from() 把Set对象在转化为数组console.log('d',d); // [ 2, 4, 1, 3 ]...原创 2020-04-15 18:41:35 · 721 阅读 · 0 评论 -
网页刷新方式
1、reload重新加载当前文档(刷新当前界面)document.location.reload([bForceGet]);bForceGet,可选参数,默认false,从客户端缓存中获取当前页;true,以GET方式,从服务端取最新的页面,相当于F5刷新2、replacedocument.location.replace(url);...原创 2020-02-20 17:22:19 · 448 阅读 · 0 评论 -
数组添加移除某个元素
let arr = [1, 2, 3, 4, 5, 6, 7];// 移除3let itemIndex = arr.findIndex(item => { return item === 3;});arr.splice(itemIndex, 1);console.log('arr', arr); // [ 1, 2, 4, 5, 6, 7 ]// 添加元素...原创 2019-12-30 10:52:14 · 298 阅读 · 0 评论 -
base64转码后的字符串应用于url
问题:base64转化后的字符串中会含有‘+’、‘/’、‘=’这些字符,当把该字符串应用于url中时,会影响url的解析解决:将‘+’、‘/’、‘=’转化为base64转化不会生成且不影响url解析的的字符,如‘*’、‘_’、‘-’、‘.’// Base64实现var Base64 = { _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef...原创 2019-12-24 10:13:52 · 636 阅读 · 0 评论 -
对象变成了[object Object]
如果你的对象变成了[objectObject],说明他被强制类型转换为了字符串。let a = {};console.log(a+''); // [object Object]console.log(typeof (a+'')); // string可是有的方法,确实只接受字符串参数,所以要将对象转化为对象字符串,进行传递console.log(JSON.stringify(...原创 2019-12-23 14:49:08 · 4989 阅读 · 1 评论 -
JS自定义排序
自定义排序var arr = ["梨","苹果","香蕉"];console.log("arr排序前:",arr); // [ '梨', '苹果', '香蕉' ]var customSort = new Map([["苹果",1],["梨",2],["香蕉",3],[undefined,4]]);arr.sort(function(a,b){ if(customSort.get(a)&...原创 2019-08-20 14:34:12 · 1174 阅读 · 0 评论 -
对象(包括数组对象)的复制和赋值
// 对象的赋值(浅拷贝--指向同一个地址)var obj1 = {a:1,b:2};var obj2 = obj1;obj2.a = 3;console.log("obj1:",obj1); //{ a: 3, b: 2 }console.log("obj2:",obj2); //{ a: 3, b: 2 }// 解构赋值(浅拷贝)let [obj4] = [obj1...原创 2019-08-14 21:00:55 · 341 阅读 · 0 评论 -
对象的两种取值方式——点方式和[ ]方式
// 对象取值————点方法和[]方法var obj = {a:{a1:"a2"},b:"b1",0:"00"};var key = 'a';var key2 = "a.a1";console.log(// 一级取值: //键名是字符串 obj.a, // { a1: 'a2' } obj['a'], // { a1: 'a2' } obj.b...原创 2019-08-06 09:37:06 · 2678 阅读 · 0 评论