随笔分类 -  JavaScript

JS学习笔记
摘要:创建方式 构造器 var reg1 = new RegExp(); console.log(reg1); 字面量创建 var reg1 = / /; console.log(reg1); 使用 var reg1 = /use/; reg1.test('use'); reg1.test('use1') 阅读全文
posted @ 2022-08-28 21:14 KongQingzhi 阅读(24) 评论(0) 推荐(0) 编辑
摘要:Promise 概述 promise是异步编程的一个解决方案,它是一个对象,创建方式与普通对象相同。可以通过promise构造函数创建出来,从他可以获取异步操作的消息. promise有三种状态:进行中,已完成,已失败 Promise是一个构造器,原型上有then,catch方法,对象上有rejec 阅读全文
posted @ 2022-08-28 21:13 KongQingzhi 阅读(107) 评论(0) 推荐(0) 编辑
摘要:定义 类可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法 class 的本质是 function。 它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。 类不可重复声明 类定义不会被提升,这意味着必须在访问前对类进行定义,否则就会报错 // 1. 如何创建类 阅读全文
posted @ 2022-08-25 19:48 KongQingzhi 阅读(110) 评论(0) 推荐(0) 编辑
摘要:定义 箭头函数提供了一种更加简洁的函数书写方式。基本语法是: 参数 => 函数体 (参数) => {函数体} 基本语法: //普通函数 var f = function(a){ return a; } f(1); //1 //箭头函数 var f = a => a f(10); //10 当箭头函数 阅读全文
posted @ 2022-08-25 19:47 KongQingzhi 阅读(63) 评论(0) 推荐(0) 编辑
摘要:let 在ES6中我们可以使用新的关键字来声明变量,let声明的变量只在 let 命令所在的代码块内有效(块级作用域、局部作用),ES6 推荐在函数中使用 let 定义变量,而非 var。 基本用法 //{}括起来的代码块 { let a = 0; console.log(a); // 0 } co 阅读全文
posted @ 2022-08-24 22:58 KongQingzhi 阅读(74) 评论(0) 推荐(0) 编辑
摘要:解构 解构赋值是对赋值运算符的扩展。 是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。 在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。 在解构中,有下面两部分参与: 解构的源,解构赋值表达式的右边部分。 解构的目标,解构赋值表达式的左边部分。 数组 基本 l 阅读全文
posted @ 2022-08-24 22:58 KongQingzhi 阅读(326) 评论(0) 推荐(0) 编辑
摘要:什么是深克隆和浅克隆 克隆,就是将变量的值复制到新的变量中 浅克隆 对于基本数据类型而言,不存在深克隆和浅克隆的说法,否是将值进行复制,然后赋值到新的变量当中 而对于引用数据类型来说,浅克隆进行复制是将原本存在栈中变量保存的地址,复制给新的变量,此时两个变量指向的是相同的堆内存,当改变原来的对象时, 阅读全文
posted @ 2022-08-24 22:57 KongQingzhi 阅读(87) 评论(0) 推荐(0) 编辑
摘要:创建方式 函数表达式 var fun1 = function fn() { console.log(111); }; console.dir(fun1); fun1(); 函数声明式 function fun2() { console.log(222); } console.dir(fun2); J 阅读全文
posted @ 2022-08-23 20:39 KongQingzhi 阅读(32) 评论(0) 推荐(0) 编辑
摘要:原型对象 原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。 为什么需要原型 在JS没有引入‘类’这个概念之前,当我们创建好对象时往往会采用构造器的方式进行创建,如果属性比较多,在产生对象时会耗费大量的内 阅读全文
posted @ 2022-08-23 13:35 KongQingzhi 阅读(31) 评论(0) 推荐(0) 编辑
摘要:创建对象的方式 字面量 var stu1 = { name: 1, age: 2, className: '2019-01', tel: '187..99', address: '111' }; var stu2 = { name: 2, age: 3, className: '2019-01', 阅读全文
posted @ 2022-08-20 19:22 KongQingzhi 阅读(53) 评论(0) 推荐(0) 编辑
摘要:变量提升 在代码执行之前,会先进行代码的预解析,将var和function声明的变量进行提升,提升为window的属性(全局变量),并将var声明的变量赋值为undefined,var的提升在function之前 console.log(num); say(); var num = 100; fun 阅读全文
posted @ 2022-08-20 19:20 KongQingzhi 阅读(25) 评论(0) 推荐(0) 编辑
摘要:if...else switch var num = 1; switch(num){ case 0: console.log(0); case 1: console.log(1); case 2: console.log(2); case 3: console.log(3); } //打印3,因为没 阅读全文
posted @ 2022-08-20 19:17 KongQingzhi 阅读(24) 评论(0) 推荐(0) 编辑
摘要:隐式转换 两种类型的变量在进行运算或比较时,一种类型会向类一种进行转化,然后再进行比较和运算 加法 作为算数运算符 (除string类型外的原始数据类型进行加法运算时)非数字类型,会转为数字类型,通过Number()方法 作为字符串连接符(有一个操作数string类型以及引用数据类型时) 减法|乘法 阅读全文
posted @ 2022-08-20 19:15 KongQingzhi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:变量声明 在ES6以前我们通常通过var来声明变量。首先要进行变量声明,然后再进行使用 var num = 123;//声明变量num,并且赋值为123 var声明多个变量 var a = 10, b = 20, c; console.log(delete c, delete b); // fals 阅读全文
posted @ 2022-08-20 19:13 KongQingzhi 阅读(98) 评论(0) 推荐(0) 编辑
摘要:JS式JavaScript的简称,它是一门弱语言,它可以实现让网页动起来 JS的构成 核心(ECMAScript) 文档对象模型(DOM)-- Document Object Module 浏览器对象模型(BOM)-- Browser Object Module **ECMAScript:是一种 由 阅读全文
posted @ 2022-08-20 19:11 KongQingzhi 阅读(372) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示