
javascript知识点记录
web还不是
正在努力的成为一位web大拿
展开
-
前端面试范围考点
几乎100%必考题:1. JS eventloop机制2. 回流/重绘/合成3. vue/react原理,virtual dom结构4. https原理高频面试题:1. CSS:BFC容器、居中方式、flex布局2. JS:原型链、函数执行栈、闭包、this3. 手写JS代码:防抖/节流、Promise.all、快排/归并排序4. vue:computed原理、数组绑定原理、nextTick原理、keep-alive原理、vue3新特性5. react:fiber原理、hooks原理、原创 2020-11-12 15:42:34 · 290 阅读 · 0 评论 -
vue 父子组件传递数据的几种方式 props,$emit, eventbus, provide/inject
1:常用的是props和$emit的方式来处理,也是最常用的方式 a:父组件传值到子组件父组件<parent> <child :message="msg"></child></parent>data(){ return { msg: "this is parent message" }...原创 2020-04-29 15:49:54 · 749 阅读 · 0 评论 -
Js异步
如果有多个异步操作,就存在一个流程控制的问题:如何确定异步操作执行的顺序,以及如何保证遵守这种顺序。function async(arg, callback) { console.log('参数为 ' + arg +' , 1秒后返回结果'); setTimeout(function () { callback(arg * 2); }, 1000);}如果有六个这样的异步任务,...原创 2018-12-06 14:56:07 · 130 阅读 · 0 评论 -
JavaScript 前端面试题集锦
1栈和队列的区别? 栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。 队列先进先出,栈先进后出。 栈只允许在表尾一端进行插入和删除,而队列只允许在表尾一端进行插入,在表头一端进行删除2栈和堆的区别? 栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。 堆区(heap) — 一般由程序员分配...原创 2018-12-10 10:45:38 · 234 阅读 · 0 评论 -
JS 冷知识
//重复定义的变量是无效的 除非重新定义的时候也赋值了// var aa = 'aa';// var aa;// console.log(aa); //aa判断变量为undefined 可以用 if(var_name === void 0){}null 转成数字为0 undefined转为数字的时候是NaN//在作为判断条件转化为false的情况//undef...原创 2018-12-21 16:15:40 · 414 阅读 · 1 评论 -
Vuex 编写
1:在src下面新建store目录2:在store目录下面新建index.js文件import Vue from 'vue'import Vuex from 'vuex'import mutations from './mutations'import actions from './action'Vue.use(Vuex) //这里是很重要的额const sta...原创 2018-12-11 11:21:50 · 402 阅读 · 0 评论 -
ES6 一些新定义的API
ES6 新定义的字符串函数repeat includes startsWith endsWith padStart padEnd//repeat'x'.repeat(3) //'xxx'//参数如果是小数的话 会先被取证 就是向下取整 Math.floor//如果repeat的参数是负数或者Infinity,会报错。//如果参数是 0 到-1 之间的小...原创 2019-01-01 20:26:59 · 309 阅读 · 0 评论 -
HTML5 新特性API汇总
1、document.querySelector()和document.querySelectorAll()方法document.querySelector():根据css选择器返回第一个匹配的元素,如果没有匹配返回null;document.querySelectorAll("selector"):querySelectorAll和querySelector作用一样的,只是querySe...原创 2019-03-07 12:04:01 · 921 阅读 · 0 评论 -
promise fetch
promisepromise是一个对象,从它可以获取异步操作的消息,promise提供了统一的API,各种异步操作都可以用同样的方法进行处理。promise对象的特点(1)对象的状态不受外界影响,promise对象代表一个异步操作,有三种状态,pending(进行中)、fulfilled(已成功)、rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法...原创 2019-03-19 14:47:13 · 606 阅读 · 0 评论 -
javascript 箭头函数
箭头函数的特点1:箭头函数只有一个参数的时候,可以省略参数的圆括号2:当箭头函数的语句只有一个return语句的话,可以同时省略return和外面的大括号3:箭头函数不能被当作构造函数来使用,不能使用new4:箭头函数不绑定this。他的this就是当前的上下文环境,使用call/apply的时候会忽略第一个参数,直接去时候后面的参数!5:箭头函数没有prototype属性...原创 2019-07-29 20:20:41 · 229 阅读 · 0 评论 -
前端面试点收集
bind call apply 三个函数的认识 是否能自己实现web前端的requestAnimationFrame了解么 有使用过么 说一下使用场景web前端优化前后端跨域可以说一下么 有碰到过跨域问题么,怎么去解决跨域nodeJs的异步IO原理react的Dom的diff算法描述浏览器cookie和session的认识跨域分为哪几种类型 如何解决...原创 2019-08-16 09:45:17 · 193 阅读 · 0 评论 -
javascript 快速排序和冒泡排序
快速排序var arr = [2,1,11,12,3];var aa = quit_sort(arr)console.log(aa);function quit_sort(arr){ if(arr.length <= 1 ){return arr}; let left = [], right = [], midKey = Math.floor(arr.length/2...原创 2018-12-08 17:58:53 · 130 阅读 · 0 评论 -
javascript 常见自定义函数
数组扁平化function flattenDepth(array, depth = 1) { let result = [] array.forEach(item => { let d = depth if (Array.isArray(item) && d > 0) { result.push(...(flattenDepth...原创 2018-12-12 15:10:55 · 510 阅读 · 0 评论 -
express 读取文件和目录
根据自己项目里面的需求编写的封装node读文件和目录let fs = require('fs');module.exports.getBaseData = (path)=>{ return new Promise((resolve,reject)=>{ fs.readFile(path,'utf-8',(err,res)=>{ if(err){ con...原创 2018-11-26 20:40:57 · 3872 阅读 · 0 评论 -
JS/PHP 判断是否是微信浏览器
PHP判断function is_weixin(){ if(stripos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false){ return true; } return false;}JS判断function is_weixin(){ v原创 2017-01-06 09:31:24 · 894 阅读 · 1 评论 -
javascript 字符串自定义函数
1,去除字符串左右两边的空格 function trim(){ return this.replace(/(^\s*)|(\s*$)/g, ""); } var vari = 'abcdefghijklmn '; alert(vari.length); //17 alert(vari.T原创 2017-01-19 18:29:43 · 309 阅读 · 0 评论 -
jQuery源码的简单实现方式
(function(global){ var jQuery = function(selector){ return new jQuery.prototype.init(selector); } jQuery.fn = jQuery.prototype = { init : function(selector){ if(typeof selector ...原创 2018-10-22 18:10:49 · 224 阅读 · 0 评论 -
js操作符 && ||
&& ||//a && b ,如果 a 为true,直接返回b,而不管b为true或者false 。如果 a 为false 那么直接返回a&& 前面的值为真 去后面的值 否则去前面的值//“||”运算遇到true就返回。例如:a || b ,如果 a 为false,直接返回b,而不管b为true或者false 。如果 a 为t...原创 2018-10-21 18:46:28 · 202 阅读 · 0 评论 -
JS 冒泡 捕获 和阻止默认行为!
冒泡 捕获 和阻止默认行为!//第三个参数 默认的是false 表示的是冒泡过程,为true捕获过程//但是IE8 只存在冒泡过程 不存在捕获的流程、/attachEvent的this指向的是window 可以使用apple改变this指向//只有IE8的情况下不兼容addEventListener 需要使用attachEvent来添加绑定时间//给节点绑定事件的兼容写法...原创 2018-10-21 18:58:09 · 433 阅读 · 0 评论 -
ES5/ES6 数组对象的循环
var arr = [1,2,3,4,2]; Array.prototype.aa = function(){}Array.prototype.bb = 'bb'; //如果用for..in来寻欢arr这个数组的话 会把原型链上面的方法和属性都一起循环了 //所以一般不用这个API来循环数组 一般是直接使用for来循环当前数组 //数组的循环方式 ...原创 2018-10-23 16:10:41 · 1341 阅读 · 0 评论 -
JAVASCRIPT 垃圾回收机制
**垃圾回收机制**JavaScript 具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存;在编写 JavaScript 程序时,开发人员不用再关心内存使用问题,所需内存的分配以及无用内存的回收完全实现了自动管理。这种垃圾收集机制的原理其实很简单:找出那些不再继续使用的变量,然后释放其占用的内存。为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间),...原创 2018-10-29 15:28:37 · 546 阅读 · 0 评论 -
JS 组件动态加载CSS文件
document.currentScript 返回其所包含的脚本中正在被执行的 ; 值得注意的是,如果当前正在执行的代码是处在某个回调函数或者事件处理函数中的,那么 currentScript 属性不会指向包含那个函数的 <script> 元素,而是会返回 nullvar curScriptElement = document.currentScript; Chrome...原创 2018-10-27 17:44:27 · 2307 阅读 · 0 评论 -
JSONP封装
jsonP插件的服装var url = 'http://localhost:3000/data/swiper';(function(root){ jsonp = function(url,data,jsonpcallback,callback){ var cbName = 'cb'+ jsonp.count; var fnName = jsonpcallback + '=' + ...翻译 2018-11-26 17:07:13 · 314 阅读 · 0 评论 -
JavaScript 洗牌算法
var arr = [22,32,56,78]; console.log(shuffle(arr)); //打乱一个数组 function random(min,max){ if(max == null){ max = min; min = 0; } return min+Math.floor(Math.random()*(max-mi...原创 2018-12-02 15:31:38 · 295 阅读 · 0 评论 -
ES6 && ECMAScript2015 新特性
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。也就是说,ES6就是ES2015。虽然目前并不是所有浏览器都能兼容ES6全部特性,但越来越多的程序员在实际项目当中已经开始使用ES6了。所以就算你现在不打算使用ES6,但为了看懂别人的你也该懂点ES6的语法了…在我们正式讲解转载 2017-01-02 14:36:44 · 2341 阅读 · 0 评论