![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript学习
文章平均质量分 78
星河梦~
小小的世界,大大的梦想。
展开
-
JS和TS中常用特殊字符
JS与TS特殊运算符原创 2022-06-21 12:10:58 · 736 阅读 · 0 评论 -
【JS】call()、apply()、bind()方法区别及原生代码实现
在上一篇文章 this指向 中,我们已经知道了this的显示绑定方法(call,apply,bind)。现在,我们来看一下这几种方法的区别以及如何使用原生代码实现这些方法的功能吧。区别call(),apply(),bind()都能用于改变this指向。(1)call()与apply()的区别:call:用法为.call(obj,arg1,arg2,…),call的第一个参数绑定this,其余的参数是传递给调用call方法的函数的参数。apply:用法为.apply(obj,[arg1,ar原创 2022-03-14 23:19:49 · 632 阅读 · 0 评论 -
this指向
this指向this是js的关键字之一,它是对象自动生成的一个内部对象,只能在对象内部使用。随着使用场合的不同,this代表的值会发生变化,它并不是不变的。this绑定机制this指向取决于它在什么地方以什么方式调用,它有4种绑定机制:默认绑定,隐式绑定,显示绑定,new绑定。默认绑定函数调用时函数前面没有指定任何对象,这时this指向的是全局的对象window.注意:在严格模式下,全局对象就不能使用默认绑定了,此时的this会报undefined错误。function fn(){ /原创 2022-03-13 23:59:24 · 658 阅读 · 0 评论 -
Ajax及jQuery对ajax的封装
Ajax什么是Ajax?Ajax:Asynchronous JavaScript And XML,异步JavaScript和XML技术。不是一门新的语言或技术,是由JavaScript、XML、DOM、CSS等多种已有技术组合而成的一种浏览器端技术。功能:用于实现与服务器进行异步交互的功能。(Ajax技术实现了网页的局部数据刷新)Ajax的核心是XMLHttpRequest对象,该对象在使用之前必须用JavaScript来获取。AJAX提供与服务器异步通信的能力,可以在Web页面触发的JavaS原创 2021-12-28 23:06:29 · 927 阅读 · 0 评论 -
JavaScript 防抖与节流(区别及应用)
概念防抖函数防抖(debounce):触发高频事件后n秒内,函数只会执行一次,如果n秒内高频时间再次被触发,则重新计算时间,等到n秒后再执行。例如:在一次触发事件时,不立即执行函数,而是给出一个期限值,比如500ms,如果在500ms内没有再次触发事件,那么就500ms到了执行函数;如果在500ms内再次触发事件,那么当前的计时取消,重新开始计时。实现的效果就是,如果在短时间内触发同一事件,只会执行一次函数。节流函数节流(throttle):高频事件触发,但在n秒内只会执行一次,所以节流会稀原创 2021-11-21 21:36:33 · 980 阅读 · 0 评论 -
JavaScript 深拷贝与浅拷贝
简单区分深拷贝与浅拷贝的简单区分:假设B复制了A,当修改A时,看B是否跟着改变:若B也跟着改变,说明是浅拷贝;若B没有变化,说明是深拷贝。注意:一般情况下,深拷贝只针对较为复杂的object类型数据。js数据类型js中,有基本数据类型以及引用数据类型基本数据类型:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)Symbol(ES6引入的新的原始数据类型,表示独一无二的值,主要用于解决属性名冲突的问题,作为标记)BigInt原创 2021-11-18 16:59:10 · 928 阅读 · 2 评论 -
JavaScript代理模式应用及实现
代理模式定义代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。举个栗子:假如我现在想买一辆车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。为什么要使用代理模式(原创 2021-09-20 17:13:15 · 357 阅读 · 0 评论 -
JavaScript正则表达式
目录认识正则表达式概念正则表达式的创建正则表达式的测试正则表达式中的修饰符String类中的方法练习认识正则表达式概念(1)正则表达式:是描述字符串规则的表达式,用于匹配字符组合的规则,是一个对象(2)特点非常灵活逻辑性强可以用简单的方式对字符串进行复杂的控制正则表达式的创建(1)字面量方式:var 变量名=/表达式/(2)RegExp构造函数方式:var 变量名=new RegExp(表达式)正则表达式的测试JavaScript中,我们使用test()进行测试。例如:原创 2021-07-25 23:51:34 · 423 阅读 · 0 评论 -
JavaScript学习之BOM(BOM,Windows事件,JavaScript执行机制)
目录BOM简介概念DOM与BOM的区别window 对象常见事件窗口加载事件调整窗口大小事件定时器练习JavaScript执行机制location对象navigator对象BOM简介概念首先看一下JavaScript的组成部分:从上图可以看出:DOM是页面文档对象模型,BOM是浏览器对象模型BOM:浏览器对象模型(Brower Object Model,BOM)提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。DOM与BOM的区别1、DOM(Document Objec原创 2021-07-22 23:53:55 · 695 阅读 · 10 评论 -
JavaScript学习之DOM事件进阶、事件对象
目录事件进阶注册事件事件删除DOM事件流事件对象(event)概念事件对象的使用练习阻止事件练习事件委托鼠标事件对象(MouseEvent)练习键盘事件练习事件进阶注册事件在JavaScript中,注册事件有两种方式——传统方式注册事件和事件监听方式注册事件。(1)传统方式:元素对象.事件=事件的处理程序btn.onclick=function(){}特点:注册事件的唯一性,即同一个元素同一个事件只能设置一个处理函数,最后注册的处理函数将会覆盖前面注册的处理函数。(2)事件监听方式原创 2021-07-20 01:14:08 · 352 阅读 · 0 评论 -
JavaScript学习之DOM(节点、节点层级、节点操作)
目录节点概念节点的属性节点层级概念节点操作创建新节点增添和删除节点复制节点练习节点概念一个页面就是一个节点树,页面中的内容就是节点。例如:HTML文档可以看作是一个节点树,网页中的所有内容都是节点。节点的属性(1)节点类型(nodeType) A、1表示为元素节点(即标签)B、2表示为属性节点(标签的属性)C、3表示为文本节点(标签的内容),文本节点包括文字、空格、换行等(2)节点名称(nodeName)(3)节点值(nodeValue)节点层级概念一个HTML文件可以看作是所原创 2021-07-19 11:04:21 · 1851 阅读 · 8 评论 -
DOM事件与属性操作
事件事件:用户进行的某种操作(可以被JavaScript侦测到的行为),是一种’触发-响应’的机制,是实现页面交互的方式事件三要素:1、事件源:谁触发了事件2、事件类型:触发了什么事件3、事件处理程序:事件被触发后所执行的代码(函数形式)常见事件类型:1、onclick:鼠标单击事件2、onchange:文本内容或下拉列表的选项发生改变时的事件3、onFocus:获得焦点,当文本框获得鼠标光标时4、onBlur:失去焦点,当文本框失去鼠标光标时5、onMouseOver:鼠标悬停6、原创 2021-06-23 10:27:40 · 396 阅读 · 7 评论 -
JavaScript学习之DOM入门(获取元素、document对象)
目录前言什么是DOM?获取文档中的元素根据id获取根据标签名获取根据name获取根据class获取根据选择器获取document对象属性前言先来看一下JavaScript的组成部分:本文针对DOM进行学习了解。什么是DOM?DOM(Document Object Model):文档对象模型,是w3c制定的一套针对HTML和XML的标准的编程接口把HTML文档处理成树形结构(倒立的树),将一个html文档看作是一棵树,文档中的标签、标签的属性、标签的内容都是这课树的节点。强调:DOM的最顶端原创 2021-06-18 15:45:18 · 945 阅读 · 1 评论 -
JavaScript学习之this指向、js错误处理、继承
目录this指向this三种含义更改this指向错误处理错误处理方法练习继承定义语法练习this指向this三种含义(1)构造函数中的this指的是新创建的对象(2)普通函数中的this指向的是Window对象(3)将函数作为对象的函数调用时this指向的是该对象例如:function foo(){ return this;}//这是一个普通函数,这里的this代表的是Windowvar o={ name='Jim' func:foo}console.lo原创 2021-06-10 18:03:29 · 378 阅读 · 16 评论 -
JavaScript 构造函数、原型对象与原型链
目录1.构造函数定义用法静态成员定义用法2.原型对象**定义3.原型链结构原型链结构特点结构图1.构造函数定义构造函数主要用来创建对象,并为对象的成员赋初值。function 对象名([参数]){ 属性 方法}用法例如:function Person(name,age){ this.name=name this.age=age //属性 this.sing=function(){ //方法 console.log("我原创 2021-06-09 16:57:17 · 336 阅读 · 10 评论 -
JavaScript面向对象(面向对象、面向过程、类与对象、对象的遍历、js内置对象)
JavaScript面向对象编程前言两大编程思想(*重要*)面向过程面向对象两大编程思想对比面向对象面向对象的特征类什么是类?类的创建对象什么是对象?对象的创建遍历对象JavaScript内置对象Math对象日期对象数组对象字符串对象前言两大编程思想(重要)(1)面向过程(2)面向对象面向过程面向过程就是分析出解决问题所需要的步骤,然后把这些步骤一步一步实现,使用的时候再一个一个依次调用。即按照我们分析好的步骤,按照步骤解决问题。(更注重过程实现)面向对象面向对象就是把事务分解成原创 2021-06-08 17:32:54 · 805 阅读 · 14 评论 -
JavaScript函数(进阶版)(函数表达式、回调函数、递归函数、闭包函数,全局变量、局部变量)
函数进阶函数内置对象函数表达式定义练习变量的作用域作用域的分类回调函数定义练习递归函数定义练习“闭包”函数**定义练习函数内置对象函数的内置对象:arguments,保留了函数接收的所有实参,arguments以数组的方式存放所有接收的实参。当不确定函数中接收到了多少个实参的时候,可以用arguments来获取实参。function fn() { console.log(arguments) // 输出结果:Arguments(3) [1, 2, 3, …] console.log原创 2021-06-07 16:57:28 · 371 阅读 · 13 评论 -
JavaScript函数基础与练习
函数函数概念函数的定义函数的调用调用方式练习函数的参数参数类型参数传递方式函数返回值函数概念函数的定义函数的调用调用方式练习函数的参数参数类型参数传递方式函数返回值...原创 2021-06-07 15:14:17 · 385 阅读 · 5 评论 -
数组的排序(冒泡排序法、选择排序法)【重要!!!】
数组的排序一维数组排序冒泡排序法原理排序实现选择排序法原理排序实现二维数组排序冒泡排序法选择排序法一维数组排序首先定义一个一维数组[45,78,21,30,89,76],对这个数组进行排序。冒泡排序法原理相邻的元素进行比较,若存在大小关系就进行交换,如此循环直到数组有序原数组:[45,78,21,30,89,76]第1次排序:[45,78,21,30,89,76]第2次:[45,21,78,30,89,76]第3次:[45,21,30,78,89,76]第4次:[45,21,30,7原创 2021-06-02 22:21:34 · 907 阅读 · 4 评论 -
JavaScript学习之数组(一维数组、二维数组)及练习
JavaScript数组数组数组的含义如何定义数组如何访问数组元素一维数组二维数组数组数组的含义数组:是类型相同的数据的集合。如何定义数组方式一:数组名 = new Array([数组的长度])例如:var arr = new Array(); //创建数组var arr1=new Array(5) //创建一个具有5个单元的数组方式二:数组名 = []例如:var arr=[] //创建一个空数组var arr = [1,2,3,4] //可在创建数原创 2021-06-02 21:26:23 · 1722 阅读 · 10 评论 -
JavaScript学习之三大循环结构(for循环、while循环、do-while循环)用法及练习
循环结构循环结构定义for循环用法练习while循环用法练习do-while循环用法练习总结循环结构定义循环结构:即迭代结构、重复结构for循环用法语法格式:for(表达式1;表达式2;表达式3){循环体语句}"表达式1":初始化变量"表达式2":条件表达式,控制循环体语句是否执行"表达式3":是循环趋向结束的表达式语法要求:(1)三个表达式都可以省略,但是分号不能省略(2)"{ }“表示循环控制的范围,在没有”{ }"的情况下,循环只能控制其后的第一条语句。练习计算斐原创 2021-05-31 23:14:44 · 663 阅读 · 7 评论 -
JavaScript学习之四大分支结构及练习
分支结构分支结构ifif-elseif-else if-elseswitch-case练习分支结构ifif(条件){ 逻辑语句}if-elseif(条件){ 逻辑语句}else{ 逻辑语句}if-else if-elseif(条件){ 逻辑语句}else if(条件){ 逻辑语句}else if(条件){ 逻辑语句}......}else{ 逻辑语句}switch-caseswitch(value){原创 2021-05-31 23:13:27 · 264 阅读 · 4 评论 -
JavaScript基础(变量、数据类型、运算符、类型转换)
JavaScript基础JavaScript简介什么是JavaScript?JavaScript能干什么?JavaScript声明变量JavaScript数据类型JS运算符运算符的优先级JS数据类型转换JavaScript简介什么是JavaScript?JavaScript 是一种运行在客户端(浏览器)的编程语言。JavaScript的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动原创 2021-05-30 22:33:58 · 302 阅读 · 19 评论