JS
文章平均质量分 70
笨笨2019
这个作者很懒,什么都没留下…
展开
-
再来一个小游戏——原生js逐句解释开发简易版别踩白块,附源码
芜湖!没想到上个做扫雷的阅读量这么高(激动)先捞一下:原创 2022-03-25 11:04:55 · 4267 阅读 · 3 评论 -
做个小钢琴~利用AudioContext获取振荡器并封装成光遇钢琴的样子
如果想做一个网页端的小钢琴,可能最先想到的都是用很多个video标签,js直接控制这些video的播放和暂停,不过不仅很麻烦要录制每个琴键的声音,多个按键同时按下同时播放的兼容性也很拉既然确定了不用video,那自然是用AudioContext创建一个音频上下文了。让我们看一下MDN中怎么介绍AudioContext:AudioContext接口表示由链接在一起的音频模块构建的音频处理图,每个模块由一个AudioNode表示。音频上下文控制它包含的节点的创建和音频处理或解码的执行。好嘛,还挺难懂。原创 2022-02-25 23:47:12 · 750 阅读 · 1 评论 -
召唤神龙~让我们来看看源码及简单的修改分析,讲的很清楚哦
最近召唤神龙好火哈哈哈哈哈哈哈先给大家一个官方正版链接:召唤神龙在给大家一套源码,这个源码不能本地运行,可以简单搭个服务器环境就可以啦:https://gitee.com/bendantada/long这套源码里,最核心的逻辑在assets/main的index.js里原来是压缩的,我已经对源码进行格式化啦那么!在这里列几个点,总结一下简单的修改源码逻辑的方法(行数是文件里格式化后的):也希望大家多多挖掘新的玩法哈哈哈哈1.修改初始等级557行有一个onLoad方法,其中624行this.原创 2022-01-07 22:05:49 · 2993 阅读 · 7 评论 -
做个小项目~纯原生JS手把手逐句解释写一个扫雷小游戏(附源码)
话不多说,开整!1.规划先打开现有的扫雷小游戏分析一下,都有哪些功能有一堆格子,要可以选择难度,要按照难度生成地雷,地雷周围的格子要变现出周围有多少雷,格子就直接控制table好了还有一些小细节,比如计时等等,可以最后在加上那么就分析完了,开始整活!2.html结构html嘛,没什么特别需要介绍的<div id="main"> <table id="landmine"></table> <div id="operation">原创 2021-12-13 20:59:30 · 5383 阅读 · 9 评论 -
JS中__proto__和prototype都是什么?原型链继承解读
首先要知道,prototype是函数才有的属性,__proto__是每个对象都有的属性随后,先谈一下1.什么是prototype?prototype对象是JS实现面向对象的一个重要机制。在很早以前,js中是没有class这个概念的(现在js中的class是函数的语法糖)每个函数就是一个对象(Function类型),函数对象都有一个子对象 prototype对象,在创建这个函数对象的时候,prototype会自动成为这个对象的成员。prototype表示该函数的原型,也表示一个类的成员的集合,简称原创 2021-10-28 21:34:48 · 2035 阅读 · 0 评论 -
js六种给数组追加元素的方法,你想得到几种?
现在有一个数组arr=[1,2,3,4]要追加了!1.push方法let arr=[1,2,3,4];arr.push(5);console.log(arr);//得到[1,2,3,4,5]push方法会修改原数组,可以带多个参数,都会一起加到数组末尾2.unshift方法let arr=[1,2,3,4];arr.unshift(5);console.log(arr);//得到[5,1,2,3,4]类似push,不过会加到开头3.length属性可以直接给length位置原创 2021-09-22 14:03:51 · 18650 阅读 · 0 评论 -
ES6 Symbol
**介绍**Symbol可以理解为一个永远不会重复的字符串,用来区分可能相同造成影响的对象比如一个班,有两个人都叫张三,那在公布成绩可能会造成影响,也许学校会按年龄分成“大张三”和“小张三”与之类似的,如果let classmate={张三:{"chinese":99,"math":98},张三:{"chinese":12,"math":33},}在控制台输出classmate,只会有最后一个张三,会覆盖前面的这时候学校也许会加一个修饰作为区分let classmate={安分守原创 2021-09-15 20:47:29 · 73 阅读 · 0 评论 -
JS 函数提升和变量提升,let const声明会提升吗
变量提升提升指的就是 把声明提升到脚本最开始的位置比如 console.log(a) var a = 5; f() function f() { console.log("f") }执行:这里,输出a和执行f()都是在声明变量和声明函数前,但都可以正常执行。而如果把var a=5;删掉,会报错:这是因为上面那些代码在解析时,浏览器会把声明提前: console.log(a); var a = 5; var b = 6; //实际上是这么解析的: var a;原创 2021-09-01 11:36:10 · 352 阅读 · 0 评论 -
JS 声明函数和函数表达式的区别
最大的区别是,声明函数的函数可以定义前就调用,而函数表达式不行 a() function a(){ console.log("a") } b() var b=function(){ console.log("b") }执行:在这方面,箭头函数和函数表达式效果差不多: a() var a=()=>{ console.log("a") }输出这是因为:函数声明的解析优先,在任意地方都可以调用函数声明的函数而函数表达式则必须等到解析器执行到它所在的代码行才会真原创 2021-09-01 11:12:29 · 416 阅读 · 0 评论