js
joyouscola
这个作者很懒,什么都没留下…
展开
-
实现继承的几种方法
1、继承第一种方式:对象冒充function Parent(username){ this.username = username; this.hello = function(){ alert(this.username); }}function Child(username,password){ //通过以下3行实现将Parent的属性和方法追加到Child中,从而实现继承 //第一步:this.method是作为一个临时的属性,并且指向Parent所指向的对象, /原创 2021-05-31 22:01:25 · 2996 阅读 · 0 评论 -
apply,call,bind三者的区别
apply方法apply接受两个参数,第一个参数是this的指向,第二个参数是函数接受的参数,以数组的形式传入,且当第一个参数为null、undefined的时候,默认指向window(在浏览器中),使用apply方法改变this指向后原函数会立即执行,且此方法只是临时改变thi指向一次。var name="martin";var obj={ name:"lucy", say:function(year,place){ console.log(this.name+" is "+year+" bo原创 2021-05-16 23:54:16 · 218 阅读 · 0 评论 -
深克隆与浅克隆的区别
浅克隆浅克隆是指在克隆对象时,对于基本数据类型的变量会重新复制一份,而对于引用类型的变量只是对引用进行克隆。就是将栈中的值复制一份给新的变量,但是两个对象指向都是同一个地址,一个发生改变另外一个也发生改变。看一下上面的例子,定义了一个arr数组,再将arr的值赋值给Arr,输出Arr,得出的值是arr的值,再通过Arr使用数组的方法添加进了一个数字,结果arr和Arr两个都输出是同一个数组。简单的来说,也就是定义一个Array数组名字叫arr,然后将arr的值复制一份给Arr,这里Arr和arr两个原创 2021-04-26 00:43:53 · 2765 阅读 · 0 评论 -
JavaScript的防抖节流
函数防抖:是指一定时间内方法只跑一次。函数防抖是指频繁触发的情况下,只有足够的空闲时间,才执行代码一次两者都是优化高频率执行js代码的一种手段。防抖debounce代码:// 函数防抖var timer = false;document.getElementById("debounce").onscroll = function(){ clearTimeout(timer); // 清除未执行的代码,重置回初始化状态 timer = setTimeout(function(){ cons原创 2021-04-06 23:02:36 · 57 阅读 · 0 评论 -
用canvas实现雨滴效果
先看效果看起来很炫酷,其实就是实现了雨滴ide掉落还有最后的圆还是看源码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title>原创 2021-04-06 00:40:28 · 437 阅读 · 0 评论 -
用JS实现飞机大战小游戏
小的时候玩的飞机大战感觉还蛮神奇,今天自己就学着做了一个先制作好要做好的几步以及背景样式var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var start = 0; // 开始阶段 var starting = 1; // 开始的加载阶段 var running = 2; // 游戏阶段原创 2021-04-06 00:20:39 · 1033 阅读 · 0 评论 -
JavaScript闭包的理解
1、什么是闭包和闭包的几种写法和用法闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点:①作为一个函数变量的一个引用,当函数返回时,其处于激活状态。②一个闭包就是当一个函数返回时,一个没有释放资源的栈区。简单的说,Javascript允许使用内部函数—即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在原创 2021-04-06 00:03:15 · 83 阅读 · 0 评论 -
JS的作用域与作用域链
作用域链作用域就是代码的执行环境,全局执行环境就是全局作用域,函数的执行环境就是私有作用域,它们都是栈内存。作用域链的前端始终是当前执行的代码所在环境的变量对象。如果这个环境是函数,则将其活动对象作为变量对象。活动对象在最开始时只包含一个变量,即arguments对象。作用域链的下一个变量对象来自包含环境,而在下一个变量对象则来自下一个包含环境。这样一直延续到全局执行环境;全局执行环境的变量对象始终都是作用域链中的最后一个对象。某个执行环境中所有的代码执行完毕后,该环境被销毁,保存在其中的所有变量和函数原创 2021-03-14 23:58:35 · 118 阅读 · 0 评论 -
canvas 实现代码雨
先看效果图这个效果图是不是像极了以前电影里面的黑客技术,看起来蛮难的,其实操作起来还是挺简单的。canvas其实就是画布的意思首先我们得有一个画布<body> <canvas id="canvas"></canvas></body>再设这样一个背景HTML部分<body> <canvas id="canvas"></canvas> <div></div>&原创 2021-01-25 20:55:55 · 602 阅读 · 0 评论 -
用函数求出两个数的最大公约数,最小公倍数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。首先JS是写在script 里面<script></script>函数就是包裹在花括号中的代码块,前面使用了关键词 function:<script>function show(a,b){ //执行代码;}</script>当调用该函数时,会执行函数内的代码。在调用函数时,您可以向其传递值,这些值被称为参数。这些参数可以在函数中使用。您可以发送任意多的参数,由逗号 (,.原创 2021-01-22 00:27:02 · 1845 阅读 · 0 评论 -
js---用*打印三角形,正方形,长方形,菱形
用js打印这些图形,其实就是循环的嵌套1、用*打印一个10x10正方形;<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></h原创 2021-01-18 21:02:32 · 3163 阅读 · 0 评论 -
三分钟学会JS中的for、while、do while,并且区分
在JS中,我们基础的循环就是while循环、do-while循环、for循环;循环之前,首先我们得知道循环结构的执行步骤:①声明循环变量;②判断循环条件;③执行循环体操作;④更新循环变量;⑤然后循环执行执行②-④,直到条件不成立,跳出循环。1、while循环会在指定条件为真时循环执行代码块。while(条件){ 需要执行的代码}例如:var num = 1;//1、声明循环变量 while (num<=10){//2、判断循环条件; docu原创 2021-01-15 23:38:26 · 302 阅读 · 0 评论