共计 1721 个字符,预计需要花费 5 分钟才能阅读完成。
1、有图片的页面等所有图片加载完毕再进行判断
/* 等所有图片加载完毕后再判断文本高度以设置置底方式 | |
* | |
*/ | |
$('#main').find('img').load(function() { | |
imgs --; | |
if (!imgs) {setFooterPos(); | |
}; | |
}); |
2、ajax post 发送数据
formData 方式会自动把 boolean 类型的转化为 string 类型 | |
如果不让它转化,加上 contentType: "application/json; charset=utf-8" | |
数据序列化 JSON.stringify(link_data); 使之变成 json 形式传值 |
3、非常巧妙的数组去重办法
const arr1 = [1, 2, 1, 2, 3, 5, 4, 5, 3, 4, 4, 4, 4]; | |
const arr2 = arr1.filter((element, index, self) => {return self.indexOf( element) === index; }); // 核心行 | |
console.log(arr2); // [1, 2, 3, 5, 4] | |
console.log(arr1); // [1, 2, 1, 2, 3, 5, 4, 5, 3, 4, 4, 4, 4] |
4、js 实现剪切板功能
var Url2 = ENV.INSURANCE_HOST + "/fl/" + row.flowId | |
var oInput = document.createElement("input") | |
oInput.value = Url2 | |
document.body.appendChild(oInput) | |
oInput.select() // 选择对象 | |
document.execCommand("Copy") // 执行浏览器复制命令 |
5、0.1 + 0.2 等不等于 0.3 的正确比较方法
console.log(Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON); | |
Number.EPSILON number 类型的最小精度 | |
Math.abs 返回绝对值的方法 |
6、判断数据类型的办法
var symbolObject = (function(){return this;}).call(Symbol("a")); | |
console.log(typeof symbolObject); //object | |
console.log(symbolObject instanceof Symbol); //true | |
console.log(symbolObject.constructor == Symbol); //true |
7、重要的按钮操作(如发送,创建)要给按钮添加去重操作
8、时间戳转换(传入 13 位)
time(time = +new Date()) {var date = new Date(time + 8 * 3600 * 1000) // 增加 8 小时 | |
return date | |
.toJSON() | |
.substr(0, 19) | |
.replace("T", " ") | |
}, |
9、原生 js 去除字符串空格
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g, ""); | |
} |
10、vue 路由 query 问题
vue 路由 query 取出的参数为字符串类型 所以不要用 true/false 放到 query 的参数上
11、获取当天时间的 24:00
方法一:a = Date.now() + 1000 * 60 * 60 * 8 | |
a - (a % (1000 * 60 * 60 * 24)) - (1000 * 60 * 60*8) | |
a % (1000 * 60 * 60 * 24) // 一整天的秒数 | |
方法二:new Date("2019-5-17").getTime() //1558022400000 | |
用方法拼括号里的字符串 |
12、http 的知识
从 HTTP 请求回来,就产生了流式的数据,后续的 DOM 树构建、CSS 计算、渲染、合成、绘制,都是尽可能地流式处理前一步的产出:即不需要等到上一步骤完全结束,就开始处理上一步的输出,这样我们在浏览网页时,才会看到逐步出现的页面。304 又是一个每个前端必知必会的状态,产生这个状态的前提是:客户端本地已经有缓存的版本,并且在 Request 中告诉了服务端,当服务端通过时间或者 tag,发现没有更新的时候,就会返回一个不含 body 的 304 状态。
正文完
发表至: javascript
2019-07-12