JS基础
文章平均质量分 93
DepressedPrince
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
对象和数组的遍历方法
一、对象Object.keys():方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in 循环还会枚举其原型链上的属性)。// simple arrayvar arr = ['a', 'b', 'c'];console.log(Object.keys(arr...原创 2018-05-27 18:40:23 · 1713 阅读 · 0 评论 -
JavaScript 的事件模型
前言原创 2019-02-15 18:31:38 · 391 阅读 · 0 评论 -
函数节流(throttle)& 函数防抖(debounce)
前言最近项目是遇到了用户频繁操作的问题,最后使用了函数的节流来防止用户误操作,特此记录一下函数节流和防抖节流(throttle)原理:在一定时间间隔内,只会执行一次方法。相当于把一定时间间隔内的频繁触发的事件,合成一次调用。就像resize这类频繁触发的事件,对于浏览器的性能消耗很大,使用节流函数,以此降低事件触发的频率实现方式有两种:时间戳 和 setTimeout// ...原创 2019-02-12 14:24:48 · 410 阅读 · 0 评论 -
对象新增方法杂谈
前言 最近在重温ES6,看的资料自然是阮一峰的《ECMAScript 6 入门》,看到对象的新增方法一章,特此记录一下。1. Object.is() —— “同值相等”,判断两个值是否严格相等,和“===”有些许细微差别不同之处只有两个:一是+0不等于-0,二是NaN等于自身。+0 === -0 //trueNaN === NaN // falseObject....原创 2019-03-08 09:47:03 · 253 阅读 · 0 评论 -
令人困惑的JavaScript
前言今天看了一个网站,有博主将js常见的问题都列举出来。刚开始时我都还是跃跃欲试,心想自己学习js还是有很长一段时间了,应该不会有太大的问题吧!但是现实打脸来的太快,果然自己的水平还是太菜了,对于底层的原理还需要好好了解一下。该篇博文是记录了做题中自己发现的盲点以及易错点。大家也可以实际去做做看,附上网址题目和自己的理解1.题目: ["1", "2", "3"].map(pars...原创 2019-02-12 14:25:19 · 311 阅读 · 0 评论 -
JS的对象创建以及继承
前言最近在学习js的设计模式,针对对象创建以及继承所使用的模式进行讲解。对象创建工厂模式——不关注过程,只注重最终的创建结果1. 简单工厂模式// 篮球基类var basketBall = function (){ this.info = '篮球类'} basketBall.prototype.getMember = function () { console.l...原创 2018-07-06 21:28:54 · 304 阅读 · 0 评论 -
New 和 Object.create()的区别
前言 我们在创建对象的时候,通常使用的就是new实例化对象,但现在javascript的标准里面提出了新的方案:Object.create(),详情详细的介绍可以点击查看MDN。下面就简单介绍一下两者的区别。New new是js中的操作符,可以创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。语法: new constructor ( [aguments] ) ...原创 2018-07-05 10:15:45 · 4267 阅读 · 0 评论 -
说一说JS中的连等赋值
前言在我们编写代码,声明变量的时候,为了方便,可能会出现连等赋值的现象,如:a = b = 2 或者 a = b = {name: "Tom"}这样的语句,但是这样实际会给我们埋下很大的坑,在日后也会出现问题。具体的原因详见下文:赋值原理首先要明白一点,对于连等赋值,在申明变量的时候,无论你是使用let或者const,后者的变量都会变成全局变量,...原创 2019-03-08 09:47:41 · 2906 阅读 · 0 评论 -
JavaScript代码执行机制
前言 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。一、代码块 JS中的代码块是指由<script>标签分割的代码段。JS...原创 2018-05-27 18:45:27 · 1366 阅读 · 0 评论 -
JS模拟实现call,apply,bind
前言 我相信对于call,applay,bind三者之前的用法与区别,小伙伴们肯定都很清楚了,毕竟这也是面试的高频试题,之前面试的时候,当面试官提到call的时候我可是心花怒放,正准备侃侃而谈的时候,面试官说请用js模拟call的用法,限时5分钟。当时就懵了,脑子里只有它的各种用法,但内部究竟如何实现的,还真没有研究过,当时就唱了一首凉凉给自己。失败不可怕,所以今天特写文一篇,纪...转载 2019-02-17 20:32:37 · 365 阅读 · 0 评论 -
前端模块化:CommonJS,CMD,AMD,ES6
前言:模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统。一、CommonJS(服务器端)一个文件就是一个模块,每个模块都是单独的作用域,除非定义为global对象的属性 输出模块module.exports对象 ...转载 2018-06-06 22:35:36 · 441 阅读 · 0 评论 -
闭包(*)
前言今天好好的研究了一下闭包,顺便写一下自己的个人理解。什么是闭包?闭包是指有权访问另一个函数作用域中的变量的函数。闭包有如下特点:函数嵌套函数; 函数外部可以读取内部的参数和变量; 参数和变量不会被垃圾回收机制回收;常见的闭包创建方式:在一个函数内部创建另一个函数,详见下面的例子:function Foo(){ var typeName = 'coffee'; r...原创 2018-05-27 18:47:39 · 1345 阅读 · 0 评论 -
说一说JS中位运算符
前言JS中有位运算符:与( &amp;amp; )、或( | )、按位取反(~)、异或( ^ )、左移位( &amp;lt;&amp;lt; )、右移位( &amp;gt;&amp;gt; )。下面就具体来说说这些位运算符。十进制转二进制首先,需要明白一点,JS进行位运算符时,都是将操作数转换为二进制在进行的,毕竟是按位运算。一般情况下,都是十进制转二进制,遇到其他进制,也可以先转化为十进制,然后在转为二进制。…原创 2019-03-08 11:13:18 · 645 阅读 · 0 评论
分享