JavaScript
文章平均质量分 66
js学习笔记
嵩華想睡觉
收拾心情 重新再出发。
展开
-
js学习笔记(七)
1. undefined 与 undeclared 的区别?已在作用域中声明但还没有赋值的变量,是 undefined。相反,还没有在作用域中声明过的变量,是 undeclared 的。对于 undeclared 变量的引用,浏览器会报引用错误,如 ReferenceError: b is not defined 。但是我们可以使用 typeof 的安全防范机制来避免报错,因为对于 undeclared(或者 not defined )变量,typeof 会返回 “undefined”。2. nu原创 2021-09-25 17:15:59 · 255 阅读 · 0 评论 -
js学习笔记(六)
一、js闭包1.什么是js闭包? 闭包指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。2.闭包的变量访问范围自己范围内的变量封闭函数范围内的变量全局变量3.为什么要使用闭包? 使用闭包主要是为了设计私有的方法和支量。4.闭包的优缺点优点:可以避免全局变量的污染缺点:闭包会常驻内存, 增加内存使用 ,使用不当很容易造成内存泄漏5.闭包的特性函数嵌套函数在函数内部可以引用外部的参数和变量参数和变量不会被垃圾回收机制回收原创 2021-09-15 21:46:41 · 204 阅读 · 0 评论 -
js学习笔记(五)
一、数组的扁平化处理 数组的扁平化即将一个多维数组变为一个一维数组。其方法如下:1.使用flat()arr.flat(Infinity)2.利用正则表达式 弊端:会把所有类型都变成字符串JSON.stringify(arr),replace(/\[|\]/g,"").split(",")3.正则改良版JSON.parse("["+JSON.stringify(arr),replace(/\[|\]/g,"")+"]")4.使用reduceconst newArr = (arr)原创 2021-08-19 17:34:41 · 240 阅读 · 1 评论 -
js学习笔记(四)
一、迭代器1.什么是迭代器? 迭代器是ES6新增的特性,用来实现不同数据结构之间的遍历。2.如何实现迭代器模式? 迭代器模式中的可迭代对象实现了Iterable接口,通过Iterator接口实现迭代,而Iterator接口中又需要实现Symbol.iterator工厂函数。3.如何使用迭代器? 迭代器是一种用于迭代与其关联的可迭代对象的一次性使用的对象,迭代器API使用next()方法在可迭代对象中遍历数据。每次成功调用next(),都会返回一个InteratorResult对象,其中包含原创 2021-08-16 16:00:18 · 351 阅读 · 0 评论 -
js学习笔记(三)
一、赋值、浅拷贝、深拷贝的区别赋值:拷贝了对象的引用,修改其中一个对象的属性值,另一个对象也会受到影响。浅拷贝:对基本数据类型赋值,引用类型将引用地址赋值给对应变量,修改基本数据类型的值互不影响,修改其中一个对象引用数据类型的值,另一个对象也会受到影响。深拷贝:对其对象的各个属性进行完全拷贝,修改其中一个对象的值,另一个对象不受影响。二、ES参数值传递 ES中规定参数只能按值传递,不能按引用传递。传递复杂数据类型时传递的是引用类型的参数而不是按照引用传递,注意二者存在区别,引用类型的参数在函原创 2021-08-10 15:46:15 · 115 阅读 · 0 评论 -
js学习笔记(二)
一、确定变量类型原始类型变量确定类型使用typeof,例如:console.log(typeof 22);//numberconsole.log(typeof "mike");//stringconsole.log(typeof true);//booleanconsole.log(typeof null);//objectconsole.log(typeof new Object());//objectconsole.log(typeof function(){});//function原创 2021-07-27 22:00:14 · 112 阅读 · 0 评论 -
【jQuery】初识jQuery
一、什么是jQuery?jQuery其实就是一个封装了很多方法的js库,我们学习jQuery其实就是学习这些方法如何使用。二、为什么要学习jQuery?因为原生js存在许多缺陷,而使用jQuery则避免甚至解决了这些缺陷。原生js不能添加多个入口函数(window.onload),如果添加了多个,后面的就会把前面的覆盖,但jQuery可以有多个入口函数;原生js的api名字都很长并且不好记,而jQuery的api名字更容易记忆;原生js书写容易产生代码冗余,jQuery使用隐式迭代代码简洁;原创 2021-05-30 14:43:12 · 378 阅读 · 11 评论 -
js学习笔记(一)
一、什么是JavaScript? JavaScript是一门用来与网页交互的脚本语言,包含ECMAScript、DOM和BOM三大组成部分。二、如何在HTML页面用引用js?行内引入:在标签内部结合事件来使用,例如<button onclick="javascript:history(-1)">返回</button>内部引入:在head或body中,定义script标签,然后在script标签里面写js代码,例如<script> aler原创 2021-07-26 21:53:44 · 444 阅读 · 1 评论 -
js正则表达式学习笔记
一、认识正则表达式文章目录一、认识正则表达式1.什么是正则表达式?2.为什么要学习正则表达式?二、正则表达式常用匹配规则三、正则表达式的语法四、使用正则表达式1.使用字符串的方法2.使用RegExp 对象*.exec()全局匹配与实现matchAll()匹配五、贪婪匹配与惰性匹配六、断言匹配七、原子组的用法1.什么是正则表达式? 正则表达式(Regular Expression),又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定原创 2021-06-22 22:35:42 · 286 阅读 · 3 评论 -
JavaScript应用:前端MD5加密
前端MD5加密 在前端页面,我们经常会使用表单来提交我们的数据,而表单的两种提交方式get和post都具有一定的安全隐患。get请求的的参数直接在请求行显示,安全隐患较大;post请求方式虽然相对get来说较为安全,其请求参数在请求体,但也可以轻易的通过抓包来获取我们的参数值,得到用户账号、密码等信息。以用户密码为例,怎样可以让我们的密码在前端直接被加密呢?1.直接对用户输入进行MD5加密操作:在接收到用户输入的密码后,直接对用户的密码使用MD5算法进行加密。优点:对用户密码进行了加密,使得用户原创 2021-04-22 22:13:40 · 10800 阅读 · 5 评论 -
JavaScript应用:简单计算器的实现
JS实现简单计算器页面布局设计(HTML+CSS) 由于在之前的博客中有对html和css进行详细的讲解,再次就不多叙述,直接上代码。因为js中用到了JQuery选择器所以在html中使用<script></script>标签引入了JQuery,在html中为每个单击按钮绑定计算器事件cal()并传入当前点击对象this。 .html文件:<!DOCTYPE html><html lang="en"><head> <m原创 2021-04-21 00:09:34 · 2296 阅读 · 16 评论