资讯专栏INFORMATION COLUMN

平时工作和学习中遇到的知识点(2)

bladefury / 3260人阅读

摘要:上传图片本地预览功能静态方法会创建一个,其中包含一个表示参数中给出的对象的。这个的生命周期和创建它的窗口中的绑定。这个新的对象表示指定的对象或对象。是对数组中每一项运行给定函数,如果该函数对任一项返回,则返回。

13、meta标签的用法

</>复制代码

  1. http://www.alenqi.site/2018/03/04/complete-tags/
14、随机生成的加密字符串库(crypto-random-string)

</>复制代码

  1. $ npm install crypto-random-string //安装命令
  2. const cryptoRandomString = require("crypto-random-string");
  3. cryptoRandomString({length: 10});
  4. //=> "2cf05d94db"
  5. cryptoRandomString({length: 10, type: "base64"});
  6. //=> "YMiMbaQl6I"
  7. cryptoRandomString({length: 10, type: "url-safe"});
  8. //=> "YN-tqc8pOw"
  9. cryptoRandomString({length: 10, characters: "1234567890"});
  10. //=> "1791935639"
15、浏览器的微观任务和宏观任务

</>复制代码

  1. //宏观任务是浏览器宿主api发起的任务 例:setTimeout
  2. //微观任务 JavaScript引擎发起的任务 例:promise
  3. //每个宏观任务都有一个微观任务队列
  4. //promise会加到宏观任务的最后
  5. var r = new Promise(function(resolve, reject){
  6. console.log("a");
  7. resolve()
  8. });
  9. r.then(() => console.log("c"));
  10. console.log("b")
  11. //a,b,c
16、lodash库

</>复制代码

  1. Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。 Lodash 的模块化方法 非常适用于:
  2. 遍历 array、objectstring
  3. 对值进行操作和检测
  4. 创建符合功能的函数
  5. // Load the full build.
  6. var _ = require("lodash");
  7. // Load the core build.
  8. var _ = require("lodash/core");
  9. // Load the FP build for immutable auto-curried iteratee-first data-last methods.
  10. var fp = require("lodash/fp");
  11. // Load method categories.
  12. var array = require("lodash/array");
  13. var object = require("lodash/fp/object");
  14. // Cherry-pick methods for smaller browserify/rollup/webpack bundles.
  15. var at = require("lodash/at");
  16. var curryN = require("lodash/fp/curryN");
17、小练习

</>复制代码

  1. 题目:我们现在要实现一个红绿灯,
  2. 把一个圆形 div 按照绿色 3 秒,
  3. 黄色 1 秒,红色 2 秒循环改变背景色
  4. fuction sleep(duration){
  5. return new Promise((resove,reject) =>{
  6. setTimeout(resove,duration)
  7. })
  8. }
  9. sleep(2000).then(function(){
  10. })
18、上下文的概念

</>复制代码

  1. JavaScript 标准把一段代码(包括函数),
  2. 执行所需的所有信息定义为:“执行上下文”。
19、上传图片本地预览功能

</>复制代码

  1. uploadChange(file) {
  2. console.log(file)
  3. let blobUrl
  4. try {
  5. blobUrl = URL.createObjectURL(file.raw)
  6. } catch (err) {
  7. console.error("[Element Error][Upload]", err)
  8. }
  9. console.log(blobUrl)
  10. },
  11. URL.createObjectURL() 静态方法会创建一个 DOMString
  12. 其中包含一个表示参数中给出的对象的URL。
  13. 这个 URL 的生命周期和创建它的窗口中的 document 绑定。
  14. 这个新的URL 对象表示指定的 File 对象或 Blob 对象。
  15. URL.revokeObjectURL() 方法来释放内存
20、every和some方法

</>复制代码

  1. every()是对数组中每一项运行给定函数,
  2. 如果该函数对每一项返回true,则返回true
  3. some()是对数组中每一项运行给定函数,
  4. 如果该函数对任一项返回true,则返回true
  5. const tempData = [
  6. {
  7. id: 1,
  8. name: "rocker",
  9. adress: "US"
  10. },
  11. {
  12. id: 2,
  13. name: "rocker",
  14. adress: "US"
  15. },
  16. {
  17. id: 3,
  18. name: "rocker",
  19. adress: "US"
  20. }
  21. ];
  22. let everyReturn = tempData.every((item, index) => {
  23. return item.id > 1;
  24. });
  25. let someReturn = tempData.some((item, index) => {
  26. return item.id > 2;
  27. });
  28. console.log(everyReturn);
  29. //有一个是错的就返回 false 且的关系
  30. console.log(someReturn);
  31. //有一个是对的就返回 true 或的关系
21、npm

</>复制代码

  1. 查看可用的npm
  2. nrm ls
  3. // 用法: nrm use ***
  4. nrm use taobao
  5. // 切换之后可用 nrm ls查看是否已经切换了npm
22、前端总结(github优质资源整理)

</>复制代码

  1. https://juejin.im/post/5d3edad9f265da03a652f133
23、JavaScript定义函数的几种方式
1、普通函数

</>复制代码

  1. function foo(){
  2. //code
  3. }
2、箭头函数

</>复制代码

  1. const foo = () => {
  2. //code
  3. }
3、class中定义的函数

</>复制代码

  1. class Rectangle {
  2. constructor(height, width) {
  3. this.height = height;
  4. this.width = width;
  5. }
  6. }
  7. //函数声明 会提升
  8. //类声明 不会提升
24、讲个笑话

</>复制代码

  1. 佩奇有天放学回家对妈妈抱怨说:同学们都说我长得像吹风机
  2. 妈妈平静的看着佩奇:说话就说话,你别拿嘴吹我
25、深拷贝

</>复制代码

  1. //方法1
  2. JSON.parse(JSON.stringify())
  3. //方法2 ES6
  4. const arr1=[1,2,3];
  5. const arr2=Array.from(arr1)
  6. //方法3
  7. 用lodash的cloneDeep
  8. //方法4 concat 方法会返回一个新数组

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106336.html

相关文章

  • 程序员平时该如何学习来提升自己技术

    摘要:举个例子比如非著名程序员推送了一篇好的文章,不要收藏到微信收藏里,直接用一键收藏到云端,到了公司或者有时间的时候,打开去学习,自己去写一个类似的东西,只有在自己亲手写代码的时候,才会知道遇到哪些坑,如果光看是不行的。 showImg(https://segmentfault.com/img/bVvHmU); 自从运营了公众号以来,应该说分享了不少的技术干货和人生感悟,也应该帮助了不少程...

    Leck1e 评论0 收藏0
  • 程序员该如何有效工作?

    摘要:经验少的程序员小猿同学毕业工作一年了,在公司感觉自己的能力很好了,能力大于老板给的价值了,所以想要涨工资,但是老板给涨的不够理想,小猿听说跳槽可以让自己的工资翻倍,毅然决然的就辞职了,决定重新找工作。 又到了一周一次的周末心灵鸡汤的时间了,希望大家能够痛痛快快的喝了这碗鸡汤,让这酸爽的感觉使你永生难忘。哈哈……这周又有几个人,尤其是毕业生在「非著名程序员」微信公众号里私聊我关于找不到工...

    BLUE 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<