生成随机数
摘要:一:生成一个16位的随机数 function generateRandomNumber() { var randomNumber = Math.floor(Math.random() * 10000000000000000); var randomString = randomNumber.toSt
阅读全文
函数式编程
摘要:一:概念 面向函数的编程,着眼于函数,强调的是如何通过函数的组合变换去解决问题。 二:特点 1.函数是一等公民: 函数与其他数据类型一样,处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,或者作为别的函数的返回值。 2.无状态和数据不可变: 无状态:强调对于一个函数,不管你何时运行,
阅读全文
js实现继承的几种方式
摘要:常见的实现继承的方式有以下几种: 1.原型链式继承 2.构造函数式继承 3.组合式继承 4.原型式继承 5.寄生式继承 6.寄生组合式继承 下面来详细讲些以下每种继承的实现方式,及优缺点 先声明一个叫Parent的构造函数 (引:JavaScript中的构造函数是一种特殊的函数,它用于创建新的对象实
阅读全文
常用的操作数组的方法
摘要:一:操作方法: 1.增 .push() 从后加 .unshift() 从前加 .splice() 从指定位置加 第一个参数:开始的位置,第二个参数:要删除的元素数量,后面的参数:插入的元素(若想插入多个,用逗号分开) let colors = ["red", "green", "blue"]; le
阅读全文
正则表达式
摘要:《正则表达式必知必会》读书笔记 引用书中的一段话:“写一个能够匹配预期内容的正则表达式并不难,但写一个能够考虑到所有场景,确保将不需要匹配的内容排除在外的正则表达式可就难多了” 所以~不能随便在网上找个正则用,因为有些黑客就是用正则来实现其不为人知的目的滴。 废话很多,进入正题吧: 1. “/g”
阅读全文
实现简单的防抖和节流
摘要:一:区别 首先明确一点,防抖注重清零,节流注重加锁 二:实现方式:上代码 <html> <body> <button onclick="clickBtn()">点击按钮111</button> <script> // 普通点击 function clickBtn(){ console.log("普通
阅读全文
JSON.stringfy()的三个参数 (难度*)
摘要:一般大家使用JSON.stringfy()只用到了第一个参数,把对象转成json格式 但是JSON.stringfy()还有后面的两个参数:JSON.stringfy(value, replacer, space) value:要转化的对象 replacer:传函数-->被序列化的值的每个属性都会经
阅读全文
js运行机制(事件循环机制)
摘要:js运行机制 首先我们知道,在js运行的时候,会有一个主线程,这个主线程在由上向下执行js代码的时候,如果遇到异步任务,会把异步任务交给异步线程去处理,异步任务执行之后,如果有回调,就会把回调放到任务队列里去.等待主线程执行栈里的东西执行完了,就用任务队列里从前往后取需要执行的任务,放到主线程里执行
阅读全文
js重学记录02:原型与原型链&new一个函数会发生什么
摘要:一:原型与原型链 原型: 每当定义一个函数数据类型(普通函数、类)的时候,都会隐式的生成一个prototype属性,而这个属性,指向函数的原型对象,这个属性是一个对象数据类型的值 原型链: 每一个对象数据类型(普通的对象、实例、prototype......)也天生自带一个属性__proto__,这
阅读全文
js重学记录01:JS的数据类型&判断变量的类型及区别
摘要:一.JS的数据类型 基础数据类型: string number boolean undefined null Symbol 基础数据类型数据存在 栈中,也就是当前作用域中,随着当前作用域的消失而消失 引用数据类型:object 引用数据类型数据 存在 堆中,当没有引用的时候,不同浏览器不同的垃圾回收
阅读全文
call apply bind的 区别及实现
摘要:call() apply() bind() 都是改变this指向的方法 call() apply() bind() 的第一个参数都是this的指向对象,后面的参数是给调用的方法传参 背景~例如 有以下代码: var name = "window-name", age = 1000, skil = "
阅读全文