![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript
js笔记
「已注销」
这个作者很懒,什么都没留下…
展开
-
JavaScript:常用正则表达式
var alphnumon=/\d{3,}/; 验证3个连续的数字 var alph1=/[a-zA-Z]{3,}/; 验证3个连续的字母var formID = "form_one";/* 验证的正则表达式 */var regExp = {/*用户名要求 数字、字母、下划线的组合,其中数字和字母必须同时存在*/ name : /^(?![^A-Za-z]+$)(?![^0-9]+$)[0-9A-Za-z_]{6,12}$/, /*密码:8-12位,由字母数字下划线组成 */ pwd : /原创 2021-05-12 10:33:14 · 53 阅读 · 0 评论 -
JavaScript 将数组转化为字符串
JavaScript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串toString() 将数组转换成一个字符串var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组var s = a.toString(); //把数组转换为字符串console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”console.log(typeof s); //返回字符串string,说明是字符串类型t转载 2021-04-21 22:39:22 · 561 阅读 · 0 评论 -
JavaScript获取年月日时分秒
var date = new Date();//实例一个时间对象;var year = date.getFullYear();//获取系统的年;var month = date.getMonth()+1;//获取系统月份,由于月份是从0开始计算,所以要加1var day = date.getDate();获取系统日var hour = date.getHours();//获取系统时间var minute = date.getMinutes(); //分var second = date.getS原创 2021-04-21 15:24:22 · 204 阅读 · 0 评论 -
JavaScript的call、apply、bind
this指向问题:普通函数中的this:指向window事件函数中的this:指向事件源构造函数中的this:指向实例对象具体对象中的this:指向当前对象call、apply、bind能修改函数的this指向var stu={ name:'zs'}function fn(){ console.log(this); //正常情况下this指向window //怎么让this指向stu对象?}fn();//call调用fn函数,修改this指向//参数1:this所要指.原创 2021-04-16 10:17:21 · 53 阅读 · 0 评论 -
ES6基础知识
一、模板字符串在变量和常量拼接的时候使用,整个字符串使用${变量}:var tag = document.createElement('li');tag.innerHTML = ` <img src="" alt=""> <p>${变量}</p>`;father.appendChild(tag);标签模板,模板字符串不仅可以按照上面这种方式使用,还可以跟在一个函数后面,则表示该函数将被调用来处理找个模板字符串alert(123);等价于=alert原创 2021-04-13 14:44:12 · 137 阅读 · 0 评论 -
什么是js闭包?
一、闭包是什么?闭包(closure)就是能够读取其他函数内部变量的函数。在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成 “定义在一个函数内部的函”。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。(闭包的最典型的应用是实现回调函数(callback) )。二、JS中闭包的优缺点及特性→ 优点: 1.保护函数内的变量安全 2.在内存中维持一个变量(用的太多就变成了缺点,占内存) ; 3. 逻辑连续,当闭包作为另一个函数调用的参数时,转载 2021-04-13 13:32:10 · 4268 阅读 · 0 评论 -
JavaScript的DOM和BOM
DOM 是为了操作文档出现的 API,document 是其的一个对象;BOM 是为了操作浏览器出现的 API,window 是其的一个对象。BOM是浏览器对象模型,DOM是文档对象模型,前者是对浏览器本身进行操作,而后者是对浏览器(可看成容器)内的内容进行操作...原创 2021-04-13 12:53:43 · 47 阅读 · 0 评论 -
JavaScript的get和set
var circle={ r:20, //get 方法名 获取值 get acr(){ return Math.PI*this.r*this.r; }, //set 方法名 设置值 set acr(value){ this.r = value; }}console.log(circle.acr);//获取值circle.acr = 100;//设置值原创 2021-04-13 00:29:44 · 48 阅读 · 0 评论 -
JavaScript的属性特征
var stu={ name:'zs', age:12}//普通方法创建对象,属性可以直接修改stu.name = 'xs';//属性可以直接遍历for(var i in stu){ console.log(i,stu[i]);}//定义属性特征,特殊情况才会使用Object.defineProperty(stu,'password',{ value:123,//属性值 writeable:false,//是否可以被修改 enumerable:false,//是否可以被遍历原创 2021-04-13 00:29:34 · 48 阅读 · 0 评论 -
ES6的let和const
es8已经发布,但是还未普及es6是ECMAScript的扩展,已经普及letlet块级作用域:向上寻找距离该变量最近的‘{}’let不能重复声明,包括var的声明没有变量提升的概念暂时性死区:在一个代码块内,某个变量会绑定该区域,不再受外界的影响,let没有变量提升的概念,会形成暂时性死区,例子如下: let m=100; { console.log(m); let m=10; }分析下面的例题:let a=100;{ var a=10;}//上面等价于下面.原创 2021-04-13 00:29:17 · 46 阅读 · 0 评论 -
JavaScript变量提升
***********************//1.如果一个变量声明后,会把变量的声明提升到整个作用域的最前面,但是赋值还是原来的位置console.log(a); //报错var a = 10;//等价于var a;console.log(a);a = 10;**********************//2.如果一个变量没有声明直接赋值,作用域就是赋值以后的区域都可以使用console.log(a); //报错a = 10;***********************原创 2021-04-13 00:01:46 · 39 阅读 · 0 评论 -
JS笔记:JavaScript数组去重(12种方法)
一、ES6的Set去重(ES6中最常用)以下例子中都是以arr = [1,1,2,3,‘true’,‘true’,‘false’,‘undefined’,null,null,a,s,a,c,s,{},{}]为例function unique(arr){ return Array.from(new Set(arr));}不考虑兼容性,这种去重方法代码是最少的,但是无法去掉'{}'空对象二、for循环+splice去重(ES5中最常用)function unique(arr){ for(v转载 2021-04-12 16:52:09 · 87 阅读 · 0 评论 -
js的原型和原型链是什么?
js的原型和原型链是:1、原型模式是用于创建重复的对象,同时又能保证性能,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式;2、原型链是原型对象创建过程的历史记录,当访问一个对象的某个属性时,会先在这个对象本身属性上查找。js的原型和原型链是:JavaScript是一门基于原型的语言,在软件设计模式中,有一种模式叫做原型模式,JavaScript正是利用这种模式而被创建出来原型模式是用于创建重复的对象,同时又能保证性能,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方.转载 2021-04-12 16:42:55 · 1527 阅读 · 0 评论 -
什么是JavaScript的作用域链?
JavaScript里一切都是对象,包括函数。函数对象和其它对象一样,拥有可以通过代码访问的属性和一系列仅供JavaScript引擎访问的内部属性。其中一个内部属性是作用域,包含了函数被创建的作用域中对象的集合,称为函数的作用域链。作用域:作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。可以说,变量和函数在什么时候可以用,什么时候被摧毁,这都与作用域有关。JavaScript中,变量的作用域有全局作用域和局部作用域两种。1. 全局作用域(Global Scope).转载 2021-04-12 16:37:16 · 488 阅读 · 0 评论 -
JavaScript垃圾回收机制
1.概述JS的垃圾回收机制是为了以防内存泄漏,内存泄漏的含义就是当已经不需要某块内存时这块内存还存在着,垃圾回收机制就是间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。C#、Java、JavaScript有自动垃圾回收机制,但c++和c就没有垃圾回收机制,也许是因为垃圾回收机制必须由一种平台来实现。在JS中,JS的执行环境会负责管理代码执行过程中使用的内存。2. 变量的生命周期当一个变量的生命周期结束之后它所指向的内存就应该被释放。JS有两种变量,全局变量和在函数中产生的局部变量。局部转载 2021-04-12 16:32:43 · 61 阅读 · 0 评论 -
JavaScript创建对象的几种方式
几种常见的创建对象的方式工厂方式创建对象(不常用):function student(name,age){ return{ name:name, age:age, nj:function(){ alert(this.name+"在读六年级"); //this指向当前对象 } }}//调用被封装的对象即可var stu = student('xxx',12);stu.nj();构造函数方式创建对象(不完善)//代码规范:首字母大写function Stu.原创 2021-04-08 10:37:21 · 70 阅读 · 0 评论 -
JavaScript阻止冒泡事件和默认事件
阻止冒泡事件与默认事件什么是冒泡事件?例如,在应该按钮是绑定一个"click"事件,那么"click"事件会依次在它的父级元素中被触发防止冒泡和捕获w3c的方法是e.stopPropagation()IE的方法是e.cancelBubble = true//阻止冒泡window.event? window.event.cancelBubble = true : e.stopPropagation();取消默认事件w3c的方法是e.preventDefault()IE的方法是e.ret原创 2021-04-06 18:04:32 · 73 阅读 · 0 评论