
Javascript学习
文章平均质量分 63
avaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
End_less__
不做点什么,怎么能展现自己
展开
-
再谈Js定义变量,你不得不踩的那些坑
前言今天在Codewars刷题,碰到一个7kyu(这个等级,学过一点js的人,都会做)等级的题目,题目很简单:求累加和,并对异常情况进行特殊处理。看着非常简单,事实上并不难。我的第一次代码:// ?????var SequenceSum = (function () { function SequenceSum () { } var sum = 0 var str = '' SequenceSum.showSequence = function (count) {原创 2020-07-26 11:47:42 · 805 阅读 · 0 评论 -
面试死在数组,数组真的那么难吗?(Js篇)
前言前几天面试字节,死在数组身上。总结还是刷题太少,对数组的操作不是很熟悉。最近又开始了枯燥的刷题,与此同时又对数组进行了系统性的学习。总结为这篇学习笔记。有想一起刷题的小伙伴可以私聊我,一块进行枯燥的刷题时间。唯有熟能生巧数组文章目录前言数组如何创建一个数组之前版本的缺陷改进类型检测与转换转换成字符串字符串转数组展开运算符Example解构数组添加元素数组出栈、入栈以及填充slice splice数组数据移动清空数组数组拆分与合并数组查找indexOfincludes 原理find & f原创 2020-06-15 20:14:54 · 2256 阅读 · 1 评论 -
JS进阶 你真的掌握变量和类型了吗?
简言最近在牛客刷js知识点的时候,发现好多很基础的知识,都没有很好的把握。而这些知识点确实很重要的,今天查阅关于“堆和栈”的问题时,偶然看见这篇文章。加深了我对js的基础知识的理解。这些也都是面试题中经常出现的“坑”。结合原文章加上我自己的一些理解组成了这篇文章。导读变量和类型是学习JavaScript最先接触到的东西,但是往往看起来最简单的东西往往还隐藏着很多你不了解、或者容易犯错的知识,...转载 2020-03-23 16:53:24 · 1437 阅读 · 0 评论 -
JS中关于异步的那点事~
Table of contents前言同步与异步同步异步callback多重嵌套promise异步(async)函数参考资料前言JS 中最基础的异步调用方式是 callback,它将回调函数 callback 传给异步 API,由浏览器或 Node 在异步完成后,通知 JS 引擎调用 callback。对于简单的异步操作,用 callback 实现,是够用的。但随着负责交互页面和 Node 出...原创 2020-03-20 13:55:21 · 520 阅读 · 0 评论 -
关于Web面试的基础知识点--Javascript(二)
1.如何将集合转化成数组?Array.form(arr, mapfn,thisArg)用于将两类可以把对象转换为真正的数组:类似数组的对象和可遍历的对象(部署了Iterator接口的,String,ES6新增的Map和Set)。可以传3个参数,其中第一个是数组,必传;第二个是一个函数(类似map函数),对数组元素进行操作后再返回数组,可选;第三个是对于this关键字的指向,可选。s...原创 2020-03-06 15:43:16 · 420 阅读 · 0 评论 -
关于Web面试的基础知识点--Javascript(一)
前言此博客用来记录刷题时遇到的易错点和重点内容1.著名的“null==undefined"undefinedundefined 的字面意思就是未定义的值,这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果 。 这种原始状态会在以下 4 种场景中出现:声明一个变量,但没有进行赋值访问对象上不存在的属性函数定义了形参,但未传递实参使用void进行表达式求值n...原创 2020-03-05 18:43:35 · 776 阅读 · 1 评论 -
谈谈Javascript中那些For循环的事
假如您需要运行代码多次,且每次使用不同的值,那么循环(loop)相当方便使用。这篇文章就谈谈原生JS的for循环方法和ES6新增的for循环方法。原创 2019-10-22 00:09:27 · 281 阅读 · 0 评论 -
Javascript如何显示完整的大数加法结果而不是科学计数法形式
对于正常的Javascript加法操作:对于2^100在控制台进行计算并不能显示完整,上网查资料进行计算。(第一行为最终代码的计算结果,不显示科学计数法)如何能达到计算出最上面一行呢?今天在Code wars中刷到这样一道题:题目描述题目地址:https://www.codewars.com/kata/sum-strings-as-numbers第一次尝试从...原创 2019-10-13 21:12:16 · 3671 阅读 · 0 评论 -
Javascript -- 二叉树实现
二叉树树:与阵列,链接列表,堆栈和队列(线性数据结构)不同,树是分层数据结构。树词汇表:最顶层的节点称为树的根。直接位于元素下的元素称为子元素。直接在某个东西上方的元素称为其父元素。为何选择树1.使用树的一个原因可能是因为您希望存储自然形成层次结构的信息。例如,计算机上的文件系统:file system----------- / <-- root ...原创 2019-08-28 16:46:28 · 241 阅读 · 0 评论 -
Javascript -- 二叉树(先序,中序,后序实现)
树的遍历详解:Mr.J--树的遍历方式详解Javascript实现二叉树:Javascript -- 二叉树实现先序遍历的顺序:NLR(根节点->左结点->右结点)中序遍历的顺序:LNR(左节点->根结点->右结点)后序遍历的顺序:LRN(左结点->右结点->根节点)先序遍历先序遍历的顺序:NLR(根节点->左结点->右结...原创 2019-08-29 09:28:56 · 701 阅读 · 0 评论 -
Javascript -- 二叉树(查找&&删除功能实现)
查找最大值//查找最大值,根节点的右边比根节点的值大var maxNode = function (node) { if (node) { //只要不为空,一直搜寻 while (node && node.right !== null) { node = node.right; } ...原创 2019-08-29 13:05:30 · 290 阅读 · 0 评论 -
逻辑OR(||)妙用
逻辑OR如果第一个操作数为真,第二个操作数就无需求值了。子表达式值所有可能的组合 整体表达式的值 false || false false(0) false || true true(1) true ||false true(1) true || true true(1) console.log(true||true); ...原创 2019-09-03 08:23:47 · 450 阅读 · 0 评论 -
Javascript实现BF算法
BF算法BF算法,即暴风(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。模式匹配:子串的定位运算。在主串S中查找与模式T相匹配的子串。算法复杂度分析...原创 2019-09-17 15:09:31 · 661 阅读 · 0 评论 -
JavaScript 变量提升
JavaScript 变量提升JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。这几天在刷题的过程中经常碰到关于变量提升和作用域的问题。作用域问题,在之前的博客有写过:Mr.J--JS学习(闭包私有化)通常JS引擎会在正式执行之前先进行一次预编译,在这个过程中,首先将变量声明及函数...原创 2019-09-21 18:36:47 · 227 阅读 · 0 评论 -
Web前端开发——BAT面试题汇总及答案03
目录目录5、JavaScript this 指针、闭包、作用域6、事件委托是什么7、闭包是什么,有什么特性,对页面有什么影响8、如何阻止事件冒泡和默认事件9、添加 删除 替换 插入到某个接点的方法10、javascript 的本地对象,内置对象和宿主对象11、document load 和 document ready 的区别12、、”== ”和“===”的不同...转载 2019-09-27 20:01:16 · 822 阅读 · 0 评论 -
Javascript学习数据结构--字典
定义字典(dictionary)是一些元素的结合。每个元素有一个称作key的域,不同元素的key各不相同。其抽象数据类型描述为:抽象数据类型Dictionary{实例: 具有不同关键字的元素组合操作: set(key,value):向字典中添加新元素。 delete(key):通过使用键值来从字典中移除键值对应的数据值。 has(k...原创 2019-09-27 20:16:09 · 453 阅读 · 0 评论 -
Javascript学习数据结构--集合(Set实现)
定义set是不允许重复元素的集合类型,set体系最常用的是HashSet ,TreeSet, LinkedHashSet。相同的元素是放不进去set的。HasHSet是使用HashMap实现的,只是将value固定为一个静态对象,使用key保证集合的唯一性,但是不保证顺序性。LinkedHashMap是继承自HashSet,具有HashSet的优点,内部使用链表维护了插入顺序。创建...原创 2019-09-27 20:34:06 · 720 阅读 · 0 评论 -
Javascript实现BFS算法
图是网络结构的抽象模型。图是一组由边连接的节点(或顶点)。在实现BFS算法之前,先建立邻接矩阵和邻接表:邻接矩阵每个节点都和一个整数相关联,该整数将作为数组的索引。用一个二维数组来表示顶点之间的连接。比如上面图片中的图的邻接矩阵表示:由于该图不是强连通图(如果图中每两个顶点间在双向上都存在路径,则该图是强连通的。例如, C和D是强连通的,而A和B不是强连通的。),所以在矩阵中会...原创 2019-10-02 23:04:06 · 2250 阅读 · 0 评论 -
Codewars-Snail(Javascript实现螺旋数组)
话不多说,直接上源码:function snail(array) { var results = []; while (array.length > 0) { //使用shift返回当前数组中的第一个元素 // 使用concat方法连接被弹出的第一个元素,将其放在最后一位 results = results.concat...原创 2019-10-06 12:07:05 · 534 阅读 · 0 评论 -
Codewars-Regex Password Validation(正则检验密码格式)
5kyu测试源码:function validate(password) { var flag = false; var re = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d] ]{6,}$/; var result = re.test(password); if (result) { flag ...原创 2019-10-07 16:36:57 · 468 阅读 · 0 评论 -
Codewars-Regex validate PIN code(正则检验PIN码)
题目描述ATM机允许4位或6位密码,而密码只能包含4位或6位数字。如果函数传递了一个有效的PIN字符串,返回true,否则返回false。源码:function validatePIN(pin) { //return true or false return /(^\d{4}$)|(^\d{6}$)/.test(pin); }\d ...原创 2019-10-08 18:18:16 · 562 阅读 · 0 评论 -
Codewars-(RegEx去除html标签)
题目描述Remove HTML tags and return string without:1) <tag> and </tag>2) <tag/>3) <tag />4) html tags with attributes.Don't trim space, tab etc.You have to use regexp....原创 2019-10-08 18:48:40 · 238 阅读 · 0 评论 -
Codewars-The wheat/rice and chessboard problem(棋盘放谷粒)
棋盘放谷粒科学作家大卫·布拉特纳说,从前,有一个骗子为高端客户制作棋盘——在这个例子中,他是一个国王。工匠很好;他的棋盘不仅仅是漂亮。他知道,国王喜欢下棋。于是他想出一个计谋,骗国王交出一大笔财产。怎样实现他的计划呢 ?他想,“这个国王的数学不是很好。”于是,当工匠把他的棋盘呈给国王时,他对国王说:“殿下,我不要钱。或珠宝。我只要一点米饭。”“嗯,”国王想,他自己就是个骗子。“...原创 2019-10-09 23:14:47 · 730 阅读 · 0 评论 -
Codewars-parseInt() reloaded(实现英文单词和数字的转换)
题目描述从题目描述中很清楚地看见:要求将字符串转换成对应的数字"one" => 1 "twenty" => 20 "two hundred forty-six" => 246 "seven hundred eighty-three thousand nine hundred and nineteen" => 783919在这里,学过数据结构或者Ja...原创 2019-10-10 18:02:18 · 815 阅读 · 0 评论 -
Mr.J--网页进度条
网页进度条是一般网页加载完成之前,在页面中显示,以便于给用户信息让他知道网页加载情况。我主要写五种常见的进度条加载方式。原创 2019-07-23 21:58:58 · 264 阅读 · 1 评论 -
Mr.J--原生Javascript实现俄罗斯方块(完整版(附源代码下载链接))
昨天写了一下部分game.js和方块模型的实现,还有开始,结束,消行,计时,计分等功能。Mr.J--俄罗斯方块实现(框架)开始小视窗刷新方块随机方块及旋转是否继续下落到达底部函数检测消行分数导出API结束游戏中用到的知识点:原型链,创建对象,基础的if...eles switch...ca...原创 2019-08-04 13:16:51 · 1381 阅读 · 0 评论 -
Mr.J--俄罗斯方块实现(框架)
《俄罗斯方块》(Tetris, 俄文:Тетрис),其基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。暂时实现部分功能以及方块模型的准备,剩下的部分:开始,结束,消行,计时,计分等功能之后再写。原创 2019-08-03 20:52:42 · 837 阅读 · 0 评论 -
Mr.J--JS学习(闭包及IIFE)
首先,一个小小的题目:将10以内的数字进行输出。相信大家看到这个题目一定会感到非常熟悉,这不就是一层简单的for循环吗? 不就是这样一段demo: function test1(){ var count = 0; for(var i =0; i < 10;i++){ document.write(i+" "); } } test1()...原创 2019-01-21 19:39:34 · 355 阅读 · 0 评论 -
Mr.J--密码强度检测
密码强度,指一个密码对抗猜测或是暴力破解的有效程度。设置一个高强度的密码是非常重要的。javascript核心代码window.onload = function() { var PasswordInput = document.getElementById('password'); PasswordInput.value = ''; var sp = documen...原创 2018-11-21 17:50:26 · 241 阅读 · 0 评论 -
Mr.J--Javascript表格创建 模糊搜索 关键词搜索
本文章主要是了解js制作表格,不过现在前端一般都是用div+CSS布局,所以有兴趣的可以了解一下这种思想。在我们现实生活中表格是非常普遍的,也是非常好用的,现在我们有Excel,Word,WPS也可以来制作表格。(为什么说table表格布局不好?)制作表格:<!DOCTYPE HTML><html><head><meta charset="...原创 2018-08-23 18:05:37 · 346 阅读 · 0 评论 -
Mr.J--学习五子棋的艰苦之路
五子棋大家肯定耳熟能详,规则简单易懂,老少皆宜本次用到的知识有canvas,javascript,html,css话不多说,代码贴上html(实现代码功能,利用浏览器):<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>五子棋<..原创 2018-08-12 12:46:29 · 313 阅读 · 0 评论 -
Mr.J--JavaScript-恶搞小代码
不用多说直接上代码:<!DOCTYPE html><html> <head> <meta charset="UTF-8"><title>网页恶搞程序,关不掉的弹出框</title> </head> <body> <inpu原创 2018-07-27 11:05:11 · 5133 阅读 · 4 评论 -
Mr.J--代码雨( Matrix)
影片《黑客帝国》是华纳兄弟影片公司1999年的一部动作、科幻电影,影片由安迪·沃卓斯基和拉娜·沃卓斯基共同担任导演及编剧,基努·李维斯、凯瑞·安·莫斯和劳伦斯·菲什伯恩等联袂出演。电影于1999年3月31日在美国上映。影片讲述一名年轻的网络黑客尼奥发现看似正常的现实世界实际上是由一个名为“矩阵”的计算机人工智能系统控制的。尼奥在一名神秘女郎崔妮蒂的引导下见到了黑客组织的首领墨菲斯,三人走上了抗争矩 ...原创 2019-04-02 20:07:49 · 900 阅读 · 0 评论 -
Mr.J--心形跳动demo
最近学了一点CSS动画的属性,看了课程之后,重新做了一下心跳跳动的小demo。属性positionabsolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 fixed 生成绝对定位的元素,相对于浏览器窗...原创 2019-03-28 20:25:27 · 1887 阅读 · 2 评论 -
Mr.J--贪吃蛇demo
玩“贪吃蛇游戏”,难度最大的不是蛇长得很长的时候,而是开始。那个时候蛇身很短,看上去难度不大,却最容易死掉,因为把玩一条小短蛇让人容易走神,失去耐心。由于难度小,你会不知不觉加快调整方向的速度,其实是在游走自如的时候蛇身加长了,你却没有意识到危险,在你最得意洋洋的一刻突然死亡。原创 2019-03-23 19:48:52 · 441 阅读 · 0 评论 -
Mr.J--JS学习(事件处理函数包装)
//elem: Element,type: EventString, handle: EventListener//事件处理函数 function addEvent(elem,type,handle){ if(elem.addEventListener){ elem.addEventListener(type,handle,false); }else if(el...原创 2019-02-23 16:33:22 · 394 阅读 · 0 评论 -
Mr.J--JS学习(闭包私有化)
闭包私有化It’s a tree falling in the forest with no one around to hear it. ——《你不知道的Javascript(上卷)》JavaScript中是没有块级作用域的,为了在JavaScript中引入块级作用域,可以使用匿名函数模拟块级作用域。为什么大费周折整出块级作用域呢?因为有了块级作用域,每个开发人员都可以在块级作用...原创 2019-01-23 10:21:17 · 490 阅读 · 0 评论 -
Mr.J--JS学习(继承模式发展史)
Javascript继承模式发展史1.call/apply方法Grand.prototype.LastName = "Y"; function Grand(){ } var grand = new Grand(); Father.prototype = grand; function Father(){ this.name = ...原创 2019-01-23 10:34:53 · 276 阅读 · 0 评论 -
Mr.J--JS学习(Clone)
克隆一、对象的克隆Javascript中的数据类型分为两大类:原始类型和对象类型。 (1)原始类型包括:数值、字符串、布尔值、null、undefined。 (2)对象类型包括:对象即是属性的集合,当然这里又两个特殊的对象----函数(js中的一等对象)、数组(键值的有序集合)。 这两种类型在复制克隆的时候是有很大区别的。原始类型存储的是对象的实际数据,而对象类型存储...原创 2019-01-25 11:20:34 · 250 阅读 · 0 评论 -
Mr.J-- 简单生日页面制作
在紧张的考试之余,临近妈妈生日,突发奇想想做一个简单的生日祝福页面,由于之前有些方法已经写过,这次制作时间4days,测试调整耗时4天 [黑脸]原创 2019-06-27 17:16:21 · 848 阅读 · 0 评论