JavaScript
我是刺猬姑娘
这个作者很懒,什么都没留下…
展开
-
JavaScript原型链的学习
JavaScript原型链的学习了解原型对象(prototype)显式原型(prototype)和隐式原型(\__proto__)原型链一些例子了解原型对象(prototype)1.每个函数都有一个prototype属性,这个属性默认指向一个Object空对象[^1]。[^1]在这里,空对象指没有我们定义的属性。但是我们可以自己为其添加属性/方法console.log(typeof(Dat...原创 2019-04-06 11:30:32 · 118 阅读 · 0 评论 -
promise的学习笔记-ES6系列1
Promise的学习参考了以下几位大大们的博客~https://www.liaoxuefeng.com/wiki/1022910821149312/1023024413276544https://segmentfault.com/a/1190000007032448http://es6.ruanyifeng.com/#docs/promise1. 同步和异步Promise是异步编程的一种...原创 2019-06-04 23:37:21 · 130 阅读 · 0 评论 -
箭头函数的学习笔记-ES6系列3
箭头函数的学习参考了以下几位大大们的博客~仅为自己的学习笔记。http://es6.ruanyifeng.com/#docs/functionhttps://www.liaoxuefeng.com/wiki/1022910821149312/1031549578462080https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refe...原创 2019-06-11 10:35:17 · 225 阅读 · 0 评论 -
解构赋值的学习笔记-ES6系列2
解构赋值的学习参考了以下几位大大们的博客~仅为自己的学习笔记。http://es6.ruanyifeng.com/#docs/destructuring1. 基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。在以前,我们想要为变量赋值,只能直接指定值。如let a = 1;let b = 2, c = 3;在ES6中,可以为变量解构赋值,即...原创 2019-06-09 23:34:27 · 398 阅读 · 0 评论 -
javascript中闭包的学习
1. js的作用域在不引入let块级作用域之前。javascript变量的作用域有两种:(1)全局作用域 (2)函数作用域也就是说,如果你有一个这样的代码:var a = 1function add(){ var b = 2 var c = a+b console.log(a,b,c)}add() //打印abcconsole.log(a,b,c) //报 bc undefin...原创 2019-06-18 22:31:46 · 110 阅读 · 0 评论 -
JS实现深拷贝
朋友去面试遇到的面试题~我也不会顺路来学习一下本篇文章参考了[link]https://www.cnblogs.com/echolun/p/7889848.html和[link]https://www.cnblogs.com/wxcbg/p/8569180.html什么是深拷贝?想要搞清楚什么是深拷贝,就需要先搞清楚一个数据的存储是在堆内存还是栈内存。在JS中,基本数据类型有number...原创 2019-06-01 00:53:17 · 7889 阅读 · 1 评论 -
剑指offer-[左旋转字符串]-JavaScript实现
我感觉这道题用JS用天生的优势。因为JS的数组头和尾都可以进行操作。用好push和shift这道题就非常简单~题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?O...原创 2019-05-12 21:51:17 · 142 阅读 · 0 评论 -
剑指offer-[数字在排序数组中出现的次数]-JavaScript实现
题目描述统计一个数字在排序数组中出现的次数。思路分析1这个思路和做法比较简单粗暴。由于是排序数组,所以相同的数字肯定是排在一起的。所以用两个循环,一个从头找一个从尾找,找到第一次出现的位置和最后一次出现的位置。再相减即可。具体JS代码实现1function GetNumberOfK(data, k){ // write code here var start = -1...原创 2019-05-16 19:41:38 · 190 阅读 · 0 评论 -
剑指offer-[字符流中第一个不重复的字符]-JavaScript实现
这道题我的答案没有在牛客网上通过。但是我自己跑测试用例的结果与牛客网上显示的结果不一致。我觉得我的测试结果是正确的。翻了一下牛客网的讨论也没有看到JS的答案T.T 下面写一下我的思路和代码,如果有大神能跟我讨论一下就更好了~题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“g...原创 2019-05-11 22:28:56 · 272 阅读 · 1 评论 -
剑指offer-[表示数值的字符串]-JavaScript实现
自己做题的笔记,并不是最优解。如果有更好的思路欢迎大家告诉我,一起进步!题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。思路分析一个数值的组成有:符号(+ -),数字,点(.),指数位...原创 2019-05-10 11:26:02 · 179 阅读 · 0 评论 -
剑指offer-[构建乘积数组]-JavaScript实现
题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。思路分析假设数组A为【2,3,4,5】则B中的各个元素值分别为:B0为【1,3,4,5】的乘积B1为【2,1,4,5】的乘积B2为【2,3,1,5】的乘积B3为【2,3,4,1】的乘积...原创 2019-05-13 23:10:03 · 217 阅读 · 0 评论 -
JavaScript完成轮播图
轮播图的思想轮播图的思想,最简单的描述就是通过修改不可见框的left值,来实现滑动播放的效果。这篇文章从三大步骤来写一下轮播图的实现。(一)完成轮播图界面(二)完成点击按钮切换图片的功能(三)使用定时器完成轮播图的功能完成轮播图的界面不可见框不可见框中应该把图片连成横向一排,像胶卷一样。<body> <!-- #outer为不可见框部分 将所有的图片连成一排...原创 2019-04-22 22:03:49 · 638 阅读 · 0 评论 -
JavaScript作用域与作用域链的学习
作用域原创 2019-04-09 13:05:18 · 143 阅读 · 0 评论 -
JavaScript执行上下文的学习
全局执行上下文1.在执行全局代码前,将window确定为全局执行上下文。2.对全局数据进行预处理(1)用var定义的全局变量(提升),值为undefined,添加为window的属性。(2)function声明的全局函数(提升),为其赋值,添加为window的方法。(3)为this赋值为window3.开始执行全局代码。console.log(a1);//undefinedcons...原创 2019-04-08 23:13:54 · 142 阅读 · 0 评论 -
JavaScript事件委托
本篇文章参考了[link]https://www.cnblogs.com/liugang-vip/p/5616484.html简述事件委托1.事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。2.事件委托是指将子元素的事件监听添加到父(祖)元素中。当子元素的相应事件被触发时,事件会冒泡到父(祖)元素中去,这样事件监听就会被触发。事件委托带来的好处有:(1)减...原创 2019-04-11 22:22:23 · 276 阅读 · 0 评论 -
JavaScript中this的学习
本篇文章参考了阮一峰大大的关于this的博客《JavaScript 的 this 原理》[link]http://www.ruanyifeng.com/blog/2018/06/javascript-this.html简述this函数是一个单独的值,能够在不同的环境(上下文)中执行。this的出现,就是让我们能够取得到当前运行环境,进而获取到当前运行环境的一些值。所以,(ES6之前)在不同的...原创 2019-06-11 23:12:57 · 88 阅读 · 0 评论