![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
susu1198
这个作者很懒,什么都没留下…
展开
-
this指向及详细小案例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Do原创 2021-06-08 18:39:18 · 181 阅读 · 0 评论 -
ES6 块级变量const 和 let
let 有一定稳定性 1 let声明的变量具有块级作用域({} 里面的区域)var关键字是不具备这个特点的 2 防止循环变量变成全局变量 3 let声明的变量没有声明提升(必须先声明,才能使用) 4 let声明的变量具有暂时性死区: 如果当前块级作用域中有声明该变量,就不会使用上层作用域的变量/* --------let关键字就是用来声明变量的-------- */ ...原创 2021-05-25 20:13:17 · 178 阅读 · 0 评论 -
js 浅拷贝 深拷贝
概念浅拷贝只把复杂类型数据的第一层做复制操作,深层次数据依然会相互影响Object.assign( 新对象, 老对象)把老对象第一层的数据拷贝一份给新对象,深层次的数据新、老对象依然会相互影响深拷贝把复杂类型数据中包含的所有数据都做复制操作,赋值之后不会相互影响浅拷贝如果是简单数据类型,改变值,另一个不会变,如果是复杂数据类型,它是一个对象或者数组,里面存储空间是通过它的地址(在一个空间里),如果更改值,另外一个也会改变 // 浅拷贝只拷贝一层,更深层次对象级别的只拷贝引用原创 2021-05-22 15:32:54 · 167 阅读 · 0 评论 -
利用递归函数 求阶乘
函数内部自己调用自己, 这个函数就是递归函数递归函数的作用和循环效果一样由于递归很容易发生“栈溢出”错误(stack overflow),所以必须要加退出条件 return。 // 利用递归函数求1~n的阶乘 1 * 2 * 3 * 4 * ..n // function fn(n) { // if (n == 1) { // return 1; // } // return原创 2021-05-22 10:51:43 · 1099 阅读 · 0 评论 -
利用原型对象求最大值
Array.prototype.max = function() { var num = this[0]; for (var i = 0; i < this.length; i++) { if (this[i] > num) { num = this[i] } } return num; .原创 2021-05-20 13:38:38 · 75 阅读 · 0 评论 -
类的本质
// // 一 // function Father(uname, age) { // this.uname = uname; // this.age = age; // } // Father.prototype.money = function() { // console.log(100000); // }; // // 二 //..原创 2021-05-20 09:03:36 · 219 阅读 · 0 评论 -
利用闭包 点击li输出索引号
闭包 就是有权访问另一个函数作用域中变量的函数主要作用 延伸了变量的作用范围点击li输出索引号 <ul class="nav"> <li>巧克力</li> <li>酸奶</li> <li>可可豆</li> <li>沙冰</li> </ul> var lis = document.q原创 2021-05-16 18:58:42 · 270 阅读 · 0 评论 -
严格模式规则
开启严格模式:'use strict' 在作用域开始位置书写开启严格默认则 该作用域中的代码要遵循严格模式 <script> 'use strict'; // 下面的js 代码就会按照严格模式执行代码 </script> 严格模式的部分规则: 1) 变量名必须先声明再使用(重点) 2) 不能随意删除已经声明的变量 3) 独立函数中的 this 是 undefined(重...原创 2021-05-16 18:30:56 · 104 阅读 · 0 评论 -
ES5新增方法
数组方法: 1 forEach语法array.forEach(function(currentValue, index, arr))currentValue:数组当前项的值index:数组当前项的索引arr:数组对象本身// forEach 迭代(遍历) 数组 var arr = [1, 2, 3]; var sum = 0;//申明一个变量相加 arr.forEach(function(value, index, array) {..原创 2021-05-14 20:02:10 · 61 阅读 · 0 评论 -
借用原型对象继承父类型方法
// 借用父构造函数继承属性 // 1. 父构造函数 function Father(uname, age) { // this 指向父构造函数的对象实例 this.uname = uname; this.age = age; } // 创建了一个共有的原型对象里面存储了money值 Father.prototype.money = function...原创 2021-05-14 19:33:37 · 172 阅读 · 0 评论 -
使用面向对象功能,增,删,改
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>面.原创 2021-05-14 19:15:51 · 110 阅读 · 0 评论 -
借用父构造函数继承属性
// 借用父构造函数继承属性 // 1. 父构造函数 function Father(uname, age) { // this 指向父构造函数的对象实例 this.uname = uname; this.age = age; } // 2 .子构造函数 function Son(uname, age, score) { //使用cal..原创 2021-05-14 19:12:07 · 79 阅读 · 0 评论 -
原生js 随机选择学员
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&g...原创 2021-05-13 18:18:37 · 484 阅读 · 0 评论 -
判断一个字符串中出现次数最多的字符,并统计其次数
// 重 判断一个字符串 'abcoefoxyozzopp' 中出现次数最多的字符,并统计其次数 var arr = 'abcoefoxyozzopp'; var o = {} // 使用对象存储 for (var i = 0; i < arr.length; i++) { var chars = arr.charAt(i) // 获取里面的字母值 用变量暂时存储 if (o[chars]) { ...原创 2021-04-26 20:31:35 · 170 阅读 · 0 评论 -
日期对象 倒计时案例
// 日期对象 // var s = new Date(); // // 年 // var year = s.getFullYear() // console.log(year); // // 月 // var month = s.getMonth() + 1 // console.log(month); // // 日 // var data = s.get...原创 2021-04-25 18:08:27 · 136 阅读 · 0 评论 -
工厂函数
//工厂函数functionSyhi(age,uname,sex,song){//1.创建一个空对象,把obj指向该对象varobj={};//2.给obj添加属性和方法obj.age=ageobj.uname=uname;obj.sex=sex;ob...原创 2021-04-25 18:04:35 · 113 阅读 · 0 评论 -
ATM取款机
// ATM取款机 var money = 100; //固定的金额 while (true) { var opa = prompt('请输入你要做的操作:\n1.存钱。\n2.取钱。\n3.显示余额。\n4.退出') console.log(opa); switch (opa) { case '1': console.log(...原创 2021-04-22 16:22:02 · 148 阅读 · 0 评论 -
数组翻转 2
//数组翻转vararr=['red','green','blue','pink'];for(vari=0;i<arr.length/2;i++){ //i<arr.length/2中除以2是因为两边交换完为一半,如果不除以2相当于又交换回来了vartemp=arr[i] //声明一个变量存储数组元素中的值arr[i]=...原创 2021-04-22 15:29:27 · 57 阅读 · 0 评论 -
数组翻转 1
//数组翻转vararr=['red','green','blue','pink'];vararrArr=[]for(vari=arr.length-1;i>=0;i--){arrArr[arrArr.length]=arr[i]}console.log(arrArr);...原创 2021-04-22 11:33:15 · 55 阅读 · 0 评论 -
数组 大于10 ,数组 去除 0
//数组总大于10的vararr=[2,0,6,1,77,0,52,0,25,7];vararrArr=[]for(vari=0;i<arr.length;i++){if(arr[i]>10){arrArr[arrArr.length]=arr[i]}}...原创 2021-04-22 11:19:23 · 215 阅读 · 0 评论 -
如何连续插入数组
var arr = ['red', 'green', 'blue', 'pink']; // arr[数组最后一个元素 + 1(是添加的次数)] ='haha' // arr[当前数组的长度 -1(因为索引值从0开始,要添加最后一个只能-1得到) + 1] = 'haha' // arr[当前数组的长度] = 'haha' arr[arr.length] = 'haha'; console.log(arr); ...原创 2021-04-22 11:10:01 · 238 阅读 · 0 评论 -
利用 JS 编写的一个非常简单的交互效果程序。
弹出一个输入框,需要用户输入年龄,之后弹出一个警示框显示“您今年 xx 岁啦”(xx 表示刚才输入的年龄)分析//弹出一个对话框让用户输入年龄//拼接一个字符串拿到刚刚输入的值//打印拼接的字符串就得到数据varage=prompt('请输入你的年龄');varstr='我今年'+age+'岁了';alert(str);...原创 2021-04-17 15:51:18 · 392 阅读 · 0 评论 -
字符串的拼接
字符串的拼接+只要有字符串和其他类型相拼接最终的结果是字符串类型console.log('沙漠'+'骆驼');//字符串的沙漠骆驼console.log('老师'+18);//'老师18'console.log('red'+true);// redtrueconsole.log(12+12);//24console.log('12'+12);//'1212...原创 2021-04-17 15:33:40 · 86 阅读 · 0 评论 -
流程控制
流程控制在JavaScript基础里流程控制就是来控制我们的代码按照什么结构顺序来执行。主要有三种结构,分别是1 顺序结构(从上到下,按照代码的先后顺序,依次执行,)2 分支结构(做二选一选择,条件判断,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果)3 循环结构(反复执行)这三种结构代表三种代码执行的顺序...原创 2021-04-15 15:05:32 · 56 阅读 · 0 评论