随笔分类 - JS基础
记录一些js基础以及一些面试题
摘要:##队列和栈的区别 队列结构:先进先出 栈结构:后进先出 ##画图理解栈 ##封装栈函数 function Stack() { this.container = []; } Stack.prototype = { constructor: Stack, //进栈执行 enter: function
阅读全文
摘要:##创建一个队列结构 function Queue() { this.container = []; } Queue.prototype = { constructor: Queue, // 进入队列 element进入队列的元素 enter: function (element) { this.c
阅读全文
摘要:##页面渲染: 1.从服务器获取需要渲染的内容。 2.浏览器基于自己的渲染引擎开始自上而下加载渲染代码。 浏览器获取的是文件流 1.浏览器首先会把16进制的字节信息编译为代码字符串 2.按照w3c规则进行字符解析,生成对应的Tokens,最后转换为浏览器内核可以识别渲染的DOM节点 3.按照节点最后
阅读全文
摘要:##基础概念 js 本身是基于面向对象开发的语言 => 封装 继承 多态 封装: 类也是一个函数,把实现一个代码的功能进行封装,以此实现 低耦合高内聚 多态: 重载 重写 重写:子类重写父类上的方法 重载:相同的方法,由于参数或者返回值不同,具备了不同的功能。 js中的重载:同一个方法内,根据传参不
阅读全文
摘要:##call 分析 ##代码 Function.prototype.call = function call(context, ...prams) { context == undefined ? context = window : null; if (!/^(object|function)$/
阅读全文
摘要:##this理解 ** this:** 全局上下文的this=>window,块级上下文没有自己的this,它的this是继承所在上下文的this的 在函数私有上下文中,this的情况会多种多样 this不是执行上下文(ec才是执行下上文),this是执行主体 如何区分执行主体: 1.事件绑定,给元
阅读全文
摘要:##new new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。new 关键字会进行如下的操作: 创建一个空的简单JavaScript对象(即); 链接该对象(即设置该对象的构造函数)到另一个对象 ; 将步骤1新创建的对象作为this的上下文 ; 如果该函数没有返回对象,则
阅读全文
摘要:##一、new 操作符 + Object 创建对象 var person = new Object(); person.name = "lisi"; person.age = 21; person.family = ["lida","lier","wangwu"]; person.say = fun
阅读全文
摘要:封装防抖节流函数 ##防抖 // 防抖函数 function debounce(fn,delay) { let timer = null; return ()=>{ // 清楚上一次的计时器 clearTimeout(timer) timer = setTimeout(()=>{ // 改变this
阅读全文
摘要:##1.reduce实现数组去重 var myArray = [1,2,2,3,4,4]; var myOrderedArray = myArray.reduce(function (accumulator, currentValue) { //accumulator有初始值 赋值为空数组 空数组中
阅读全文
摘要:首先你要理解下面三句话 1.元素绑定事件,方法中的this是当前操作元素 2.方法名前面是否有点,有点,点前面是谁,this就是谁,没有this是window(严格模式下是undefined) 3.构造函数执行,方法中的this是当前类的一个实例。 下面通过不同的情况来解释一下: ##1.全局环境,
阅读全文
摘要:##作用域 作用域是在定义的时候就创建了, 而不是运行的时候。看看下面这个例子: let a=1 function aa(){ console.log(a) //输出1 } function bb(){ let a=2 aa() } 是不是非常违背常理啊,你看嘛,aa在bb里面调用的,aa函数里面没
阅读全文
摘要:###经典型转换练习:(都能答对真的很厉害了,留个名让我关注膜拜一下) 1 + '1' true + 0 {}+[] 4 + {} 4 + [1] 'a' + + 'b' console.log ( [] == 0 ) console.log ( ! [] == 0 ) console.log (
阅读全文
摘要:##1.下图代码哪一个是正确的? ##2.下图代码哪一个是正确的? ##3.下图代码哪一个是正确的? ##4.下图代码哪一个是正确的? ##5.下图代码哪一个是正确的? ##1-5答案 B A D B A ##6.下图代码哪一个是正确的? ##7.下图代码哪一个是正确的? ##8.下图代码哪一个是正
阅读全文
摘要:##1.下面代码的输出是什么? const one = (false || {} || null) const two = (null || false || "") const three = ([] || 0 || true) console.log(one, two, three) ##2.下
阅读全文
摘要:查漏补缺的javascript面试题 这里面有很多js作用域,变量提升等一系列的基础问题以及答案解析。 点击此处跳转到查漏补缺的javascript面试题 前端面试秘籍 从html->dom->css->js->浏览器相关->计算机网络->wbpack->模块化,详细的看下本篇基础,面试就差不多了。
阅读全文

浙公网安备 33010602011771号