随笔分类 -  JavaScript

摘要:JS中的对象使用时都是存在于计算机的内存中 序列化指将对象转换为一个可以存储的格式,在JS中对象的序列化通常是将一个对象转换为字符串(JSON字符串) 序列化的用途,对象转换为字符串后,可以将字符串在不同语言之间进行传递,甚至人可以直接对字符串进行读写操作,使得JS对象可以不同的语言之间传递 (1) 阅读全文
posted @ 2023-01-25 20:02 码农张3 阅读(540) 评论(0) 推荐(0)
摘要:const obj = {name: "孙悟空", age: 18, gender: "男"}; let {name, age, gender} = obj; // 声明变量同时解构变量 console.log(name, age, gender); // 孙悟空 18 男 let {name:a, 阅读全文
posted @ 2023-01-25 19:35 码农张3 阅读(22) 评论(0) 推荐(0)
摘要:const arr = ["孙悟空", "猪八戒", "沙和尚"]; let [a, b, c] = arr; // 解构赋值 console.log(a,b,c); // 孙悟空 猪八戒 沙和尚 let [d, e, f, g] = ["唐僧", "白骨精", "蜘蛛精", "玉兔精"]; // 阅读全文
posted @ 2023-01-25 17:34 码农张3 阅读(43) 评论(0) 推荐(0)
摘要:bind():函数的方法,可以用来创建一个新的函数 bind可以为新函数绑定this bind可以为新函数绑定参数 function fn(a, b, c){ console.log("fn执行了~~~", this); console.log(a,b,c); } const obj = {name 阅读全文
posted @ 2023-01-25 12:43 码农张3 阅读(42) 评论(0) 推荐(0)
摘要:调用函数除了通过 函数() 这种形式外,还可以通过其他的方式来调用函数,比如可以通过调用函数的call()和apply()两个方法来调用函数 函数.call() 函数.apply() call和apply除了可以调用函数,还是可指定函数中的this 通过call方法调用函数时,函数的实参直接在第一个 阅读全文
posted @ 2023-01-25 12:02 码农张3 阅读(21) 评论(0) 推荐(0)
摘要:可变参数可以接收任意数量实参,并将他们统一存储到一个数组中返回 可变参数的名字可以自己指定 可变参数就是一个数组,可以直接使用数组的方法 可变参数可以配合其他参数一起使用 // 当可变参数和普通参数一起使用时,需要将可变参数写到最后 function fn(a, b, ...args) { cons 阅读全文
posted @ 2023-01-25 11:15 码农张3 阅读(44) 评论(0) 推荐(0)
摘要:1. 编写递归函数,一定要包含两个要件编写递归函数,一定要包含两个要件 (1)基线条件:递归的终止条件 (2)递归条件:如何对问题进行拆分 2. 递归的核心思想 将一个大的问题拆分为一个个小的问题,小的问题解决了,大的问题也就解决了 递归的作用和循环是一致的,不通电在于,递归的思路比较清晰简洁,循环 阅读全文
posted @ 2023-01-24 20:14 码农张3 阅读(24) 评论(0) 推荐(0)
摘要:1. 定义 闭包就是能访问到外部函数作用域中变量的函数 2. 什么时候使用 当需要隐藏一些不希望被别人访问的内容时就可以使用闭包 3. 构成要件 (1)函数的嵌套 (2)内部函数要引用外部函数中的变量 (3)内部函数要作为返回值返回 function outer(){ let num = 0; re 阅读全文
posted @ 2023-01-24 16:35 码农张3 阅读(24) 评论(0) 推荐(0)
摘要:如果一个函数的参数或返回值是函数,则这个函数就成为高阶函数 将函数作为参数,意味着可以对另一个函数动态的传递代码 class Person { constructor(name, age) { this.name = name; this.age = age; } } const personArr 阅读全文
posted @ 2023-01-23 22:37 码农张3 阅读(26) 评论(0) 推荐(0)
摘要:数组内各元素按升或降序排序 [9,1,3,2,8,0,5,7,6,4] 思路1(冒泡排序): 比较相邻两个元素,然后根据大小来决定是否交换它们的位置 例子: 第1次排序:1, 3, 2, 8, 0, 5, 7, 6, 4, 9 第2次排序:1, 2, 3, 0, 5, 7, 6, 4, 8, 9 第 阅读全文
posted @ 2023-01-23 11:18 码农张3 阅读(26) 评论(0) 推荐(0)
摘要:编写代码去除数组中重复的元素 const arr = [1,2,1,3,2,2,4,5,5,6,7]; // 分别获取数组中的元素 for(let i = 0; i < arr.length; i++) { // 获取当前值后边的所有值 for(let j = i + 1; j < arr.leng 阅读全文
posted @ 2023-01-23 00:15 码农张3 阅读(27) 评论(0) 推荐(0)
摘要:9. 复制 (1)浅拷贝(shallow copy) 通常对对象的拷贝都是浅拷贝 只对对象的浅层进行复制(只复制一层) 如果对象中存储的数据是原始值,那么拷贝的深浅是不重要 浅拷贝只会对对象本身进行复制,不会复制对象中的属性(或元素) const arr = ["孙悟空", "猪八戒"]; cons 阅读全文
posted @ 2023-01-22 22:30 码农张3 阅读(31) 评论(0) 推荐(0)
摘要:1. 非破坏性方法 (1)Array.isArray():用来检查一个对象是否是数组 console.log(Array.isArray([1,2,3,4])); // true console.log(Array.isArray({name: "孙悟空"})); // false (2)at(): 阅读全文
posted @ 2023-01-22 22:30 码农张3 阅读(45) 评论(0) 推荐(0)
摘要:1. 描述 数组也是一种复合数据类型,在数组中可以存储多个不同类型的数据 数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引,可以通过索引来操作获取数据 数组中存储的数据叫元素 2. 创建数组 通过Array()来创建数组,也可以通过[]来创建数组 3. 向数组中添加元素 语法:数组[索引 阅读全文
posted @ 2023-01-22 12:37 码农张3 阅读(37) 评论(0) 推荐(0)
摘要:1. instanceof 用来检查一个对象是否是一个类的实例 检查的是对象的原型链上是否有该类实例(只要原型链上有该类实例,就会返回true) Object是所有对象的原型,所以任何对象和Object进行instanceof运算都会返回true 原型链:dog -> Animal实例 -> Obj 阅读全文
posted @ 2023-01-18 23:19 码农张3 阅读(151) 评论(0) 推荐(0)
摘要:1. 访问一个对象的原型对象 (1)对象.__proto__ (2)Object.getPrototypeOf(对象) 一般用第二种,第一种不安全 2. 原型对象中的数据 (1)对象中的数据(属性、方法等) (2)constructor(对象的构造函数) 注意: 原型对象也有原型,这样就构成了一条原 阅读全文
posted @ 2023-01-18 22:37 码农张3 阅读(49) 评论(0) 推荐(0)
摘要:1. 类的简介 类是对象的模板,可以将对象中的属性和方法直接定义在类中,定义后,就可以直接通过类来创建对象。 通过同一个类创建的对象,成为同类对象 可以用instanceof来检查一个对象是否由某个类创建 如果某个对象是由某个类所创建,则我们称该对象是这个类的实例 语法: class 类名 {} / 阅读全文
posted @ 2023-01-17 22:57 码农张3 阅读(34) 评论(0) 推荐(0)
摘要:this 函数在执行时,JS解析器每次都会传递进一个隐含的参数,即this this会指向一个对象,所指向的对象会根据函数调用方式的不同而不同 (1)以函数形式调用时,this指向的是window (2)以方法的形式调用时,this指向的是调用方法的对象 (3)构造函数中,this是调用方法的对象 阅读全文
posted @ 2023-01-16 20:14 码农张3 阅读(38) 评论(0) 推荐(0)
摘要:window对象 浏览器为我们提供了一个window对象,可以直接访问 window对象代表的是浏览器窗口,通过该对象可以对浏览器窗口进行各种操作,除此之外window对象还负责存储JS中的内置对象和浏览器的宿主对象 window对象的属性可以通过window对象访问,也可以直接访问 函数就可以认为 阅读全文
posted @ 2023-01-15 22:52 码农张3 阅读(47) 评论(0) 推荐(0)
摘要:作用域(scope) 指的是一个变量的可见区域 全局作用域 在网页运行时创建,在网页关闭时消耗 所有直接编写到script标签中的代码都位于全局作用域中 变量是全局变量,可以在任意位置访问 局部作用域 块作用域 在代码块执行时创建,代码块执行完毕就销毁 在块作用域中声明的变量是局部变量,只能块内部访 阅读全文
posted @ 2023-01-15 21:40 码农张3 阅读(25) 评论(0) 推荐(0)