共计 3475 个字符,预计需要花费 9 分钟才能阅读完成。
13、meta 标签的用法
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |
<!-- 默认使用最新浏览器 --> | |
<meta http-equiv="Cache-Control" content="no-siteapp"> | |
<!-- 不被网页 (加速) 转码 --> | |
<meta name="robots" content="index,follow"> | |
<!-- 搜索引擎抓取 --> | |
<meta name="renderer" content="webkit"> | |
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui"> | |
<meta name="apple-mobile-web-app-capable" content="yes"> | |
<!-- 删除苹果默认的工具栏和菜单栏 --> | |
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> | |
<!-- 设置苹果工具栏颜色 --> | |
<meta name="format-detection" content="telephone=no"> | |
<meta name="format-detection" content="date=no"> | |
<meta name="format-detection" content="address=no"> | |
<meta name="format-detection" content="email=no"> | |
<!-- 关闭 iOS 上的内容识别 --> | |
http://www.alenqi.site/2018/03/04/complete-tags/ | |
<!-- 别人总结好的 meta 的链接 --> |
14、随机生成的加密字符串库(crypto-random-string)
$ npm install crypto-random-string // 安装命令 | |
const cryptoRandomString = require('crypto-random-string'); | |
cryptoRandomString({length: 10}); | |
//=> '2cf05d94db' | |
cryptoRandomString({length: 10, type: 'base64'}); | |
//=> 'YMiMbaQl6I' | |
cryptoRandomString({length: 10, type: 'url-safe'}); | |
//=> 'YN-tqc8pOw' | |
cryptoRandomString({length: 10, characters: '1234567890'}); | |
//=> '1791935639' |
15、浏览器的微观任务和宏观任务
// 宏观任务是浏览器宿主 api 发起的任务 例:setTimeout | |
// 微观任务 JavaScript 引擎发起的任务 例:promise | |
// 每个宏观任务都有一个微观任务队列 | |
//promise 会加到宏观任务的最后 | |
var r = new Promise(function(resolve, reject){console.log("a"); | |
resolve()}); | |
r.then(() => console.log("c")); | |
console.log("b") | |
//a,b,c |
16、lodash 库
Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。Lodash 的模块化方法 非常适用于:遍历 array、object 和 string | |
对值进行操作和检测 | |
创建符合功能的函数 | |
// Load the full build. | |
var _ = require('lodash'); | |
// Load the core build. | |
var _ = require('lodash/core'); | |
// Load the FP build for immutable auto-curried iteratee-first data-last methods. | |
var fp = require('lodash/fp'); | |
// Load method categories. | |
var array = require('lodash/array'); | |
var object = require('lodash/fp/object'); | |
// Cherry-pick methods for smaller browserify/rollup/webpack bundles. | |
var at = require('lodash/at'); | |
var curryN = require('lodash/fp/curryN'); |
17、小练习
题目:我们现在要实现一个红绿灯,把一个圆形 div 按照绿色 3 秒,黄色 1 秒,红色 2 秒循环改变背景色 | |
fuction sleep(duration){return new Promise((resove,reject) =>{setTimeout(resove,duration) | |
}) | |
} | |
sleep(2000).then(function(){}) |
18、上下文的概念
JavaScript 标准把一段代码(包括函数),执行所需的所有信息定义为:“执行上下文”。
19、上传图片本地预览功能
uploadChange(file) {console.log(file) | |
let blobUrl | |
try {blobUrl = URL.createObjectURL(file.raw) | |
} catch (err) {console.error("[Element Error][Upload]", err) | |
} | |
console.log(blobUrl) | |
}, | |
URL.createObjectURL() 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的 URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的 URL 对象表示指定的 File 对象或 Blob 对象。用 URL.revokeObjectURL() 方法来释放内存 |
20、every 和 some 方法
every()是对数组中每一项运行给定函数,如果该函数对每一项返回 true, 则返回 true。some()是对数组中每一项运行给定函数,如果该函数对任一项返回 true,则返回 true。const tempData = [ | |
{ | |
id: 1, | |
name: "rocker", | |
adress: "US" | |
}, | |
{ | |
id: 2, | |
name: "rocker", | |
adress: "US" | |
}, | |
{ | |
id: 3, | |
name: "rocker", | |
adress: "US" | |
} | |
]; | |
let everyReturn = tempData.every((item, index) => {return item.id > 1;}); | |
let someReturn = tempData.some((item, index) => {return item.id > 2;}); | |
console.log(everyReturn); | |
// 有一个是错的就返回 false 且的关系 | |
console.log(someReturn); | |
// 有一个是对的就返回 true 或的关系 |
21、npm
查看可用的 npm 源 | |
nrm ls | |
// 用法:nrm use *** | |
nrm use taobao | |
// 切换之后可用 nrm ls 查看是否已经切换了 npm 源 |
22、前端总结(github 优质资源整理)
https://juejin.im/post/5d3edad9f265da03a652f133
23、JavaScript 定义函数的几种方式
1、普通函数
function foo(){//code}
2、箭头函数
const foo = () => {//code}
3、class 中定义的函数
class Rectangle {constructor(height, width) { | |
this.height = height; | |
this.width = width; | |
} | |
} | |
// 函数声明 会提升 | |
// 类声明 不会提升 |
24、讲个笑话
佩奇有天放学回家对妈妈抱怨说:同学们都说我长得像吹风机 | |
妈妈平静的看着佩奇:说话就说话,你别拿嘴吹我 |
25、深拷贝
// 方法 1 | |
JSON.parse(JSON.stringify()) | |
// 方法 2 ES6 | |
const arr1=[1,2,3]; | |
const arr2=Array.from(arr1)// 方法 3 | |
用 lodash 的 cloneDeep | |
// 方法 4 concat 方法会返回一个新数组 |
正文完
发表至: javascript
2019-08-02