JavaScript ES6 面向对象类 笔记整理 0. 先总结:最下面有对应的代码可以分别赋值测试/* 1. 类和对象的概念 类,大类,手机 很多的手机的集合 对象,具体的事物,比如小米8的一个具体的手机 2. 面对对象的思维特点: 我的目标是要生产很多个大大小小的对象 知道这些对象有哪些共同的属性和方法 属性和方法抽离出来生成一个类 就像一个汽车图纸 汽车图纸 能够依靠它生产出很多
算法 实现substr() KMP算法 实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。示例 1:输入:haystack = "hello", needle = "ll"输出:2示例 2:输入:haystack = "aaaaa", needle = "bba"输出:-1示例 3:输入:haystack = "", needle = ""输出:0.
JavaScript原型是什么 知识点1:__proto__是什么?prototype是什么?constructor是什么?知识点2:实例对象的__proto__和构造函数的prototype的关系知识点3:原型链是什么?
let const知识点;let var const的区别【JavaScript】【ES6-1】 let的特点1. let =》if 和 for内部 具备块级作用域 for(var j = 0; j < 5; j++) { } console.log(j); // 5 这里的5可以访问到 for(let i = 0; i < 5; i++) { } console.log(i); // 报错 未定义 =》for里面是块级作用域 =》
JavaScript 算法 实现字符串转换整数 (atoi) 力扣点击上面的链接,就可以看到题目的描述。 分析题目描述 1. 如果开头是空格,忽略这个空格 2. 如果检测完空格,紧接着检测是否是负数,如果检测到-号,最终要转化为负数 不然就是正数 默认 3. 如果下一个字符是非数字,就停止读,非数字不能放进去 4. 如果一个数字都没有,就返回0 5. 如果正数 超过 2^31-1 就固定为2^31-1 Math.pow(2,31) 6. 如...
有效的数独 题目描述和测试举例看这里,不重复啦!下面是一种解法的解释:解法1:for循环 好多指针解法 var isValidSudoku = function (board) { var flag = 0; // 行和列的比较 // 三层for循环 z + 1 for (var i = 0; i < 9; i++) { for (var j = 0; j < 9;
【数据结构和算法 初级1】删除有序数组的重复项 暴力解法&双指针 题目描述【来自-右侧点击力扣】:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。目标是:原地删除数组 重复出现的元素,每个元素只能出现一次。返回值:删除后的数组的新长度。注意点:1. 数组是有序的2. 数组里面的每个元素最终只有一个3. 不能声明新的数组,必须修改原数组...
JavaScript 扩展运算符介绍 【通俗易懂系列 2】 目录1. 数组拆分为序列2. 也可以直接输出 直接拆分为序列3. 扩展运算符 合并数组4. 扩展运算符转化 伪数组5. 扩展运算符 和 forEach some1. 数组拆分为序列如下,变量和数组里面的值的顺序一一对应好。 const arr = ['aa', 'bb', 'cc']; let [a, b, c] = [...arr]; console.log(a); // aa console.log(b)
【通俗易懂 系列1】JavaScript 对象 Object.keys() Object.defineProperty() 用法 目录1. 简单一句话先解释:1.1 Object.keys() 有什么作用?1.2 Object.defineProperty() 有什么作用?2. 详细介绍2.1 Object.keys()2.2 Object.defineProperty()writable 修改旧的属性值value 增加新属性 设置值enumerable 遍历对象属性configurable 是否允许删除属性1. 简单一句话先解释:1.1 Object.keys() ...
字符串方法 charAt、charCodeAt、str[]索引、includes、startWith、endWith、repeat等等 目录1. charAt 2. charCodeAt 3. str[]兼容性4. includes1. charAt返回对应索引的字符 var str = '你好帅'; console.log(str.charAt(2)); // 帅 表示索引为2的字符是帅2. charCodeAt返回字符串对应索引的Unicode编码 0-65536之间整数 var str = 'ABC'; ...
数组方法扩展 find() findIndex() reduce() 1.find方法作用:用来查找符合条件的元素,返回的是值注意:查找到第一个指定的元素就不再查找后面的元素注意:不改变数组原有的值注意:不处理空数组下面的代码解释:1.发现控制台输出索引index时,只会输出0,因为数组的第一个值1就是小于3,那么后面的代码都不再执行。2.因为返回值是数组的值,所以常量a的值是1 let arr = [1, 2, 3, 4, 5]; const a = arr.find(function (value, i...
JavaScript 数组 拓展 方法 forEach filter some map every的比较 1. forEach作用:遍历数组的每一个值是否会改变原有的数组?不会 var arr = [1, 2, 3, 4, 5]; arr.forEach(function (value, index, arr) { console.log('数组的值是:' + value); console.log('数组的索引是:' + index); console.log('数组的本身是:' + arr);
JavaScript 数组筛选 筛选数组大于>10的元素的三种方法 1.利用遍历和push的方法就可以进行。 var arr = [1, 3, 10, 2, 20]; var result = []; for (var i = 0; i < arr.length; i++) { if (arr[i] < 10) { result.push(arr[i]); } } console.log(resul.
JavaScript 高级之 闭包是什么 目录1. 闭包的概念2. 闭包的作用3. 闭包示例3.2 示例11. 闭包的概念是一个函数,这个函数有权访问另一个作用域中的变量。 function fn() { var num = 10; function fun() { console.log(num); } fun(); } fn(); 上面
JavaScript Boolean数据类型 强制转换 结合逻辑非 双重逻辑非判断 1. Boolean数据类型的取值truefalse就这两个2. Boolean类型涉及的强制转化Boolean()方法 var b = Boolean(123); console.log(b); // true紧接着要问,哪些值,打印出来是true,哪些是false?null undefined 空 NaN 打印出来的都是false有待进一步更新结尾:学习id: 201903090124-现在是大三学生,学习到了v