![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Javascript
W&T
这个作者很懒,什么都没留下…
展开
-
js - 原型和原型链
一、概念原型(对象属性)Javascript规定,每一个函数都有一个prototype对象属性,指向另一个对象(原型链上面的)。prototype(对象属性)的所有属性和方法,都会被构造函数的实例继承。这意味着,我们可以把那些不变(公用)的属性和方法,直接定义在prototype对象属性上。prototype就是调用构造函数所创建的那个实例对象的原型(proto)。prototype可以让所有对象实例共享它所包含的属性和方法。也就是说,不必在构造函数中定义对象信息,而是可以直接将这些信息添加到原型原创 2020-10-15 21:51:45 · 112 阅读 · 0 评论 -
js - 变量声明和函数声明(var)
一、问题 console.log(a); var a = 1; var a = function(){ console.log(2); } function a(){ console.log(3); } console.log(a);二、解决1. 变量声明提升 ... var a = 10;等于 // 预编译 var a; // 声明会被提到当前作用域的顶端 // var的作用域只有两种,全局作用域和函数作原创 2020-09-19 21:23:10 · 1240 阅读 · 1 评论 -
js - 函数防抖和节流
一、什么是防抖、节流?在进行窗口的resize、scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕。此时我们可以采用debounce(防抖)和throttle(节流)的方式来减少调用频率,同时又不影响实际效果。二、概念函数防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。函数节流(throttle):当持续触发事件时,保证一定时间段内原创 2020-08-27 16:20:17 · 157 阅读 · 0 评论 -
js - Array对象
一、创建构造方法创建let arr1 = new Array()let arr2 = new Array('a', 'b', 'c');字面量创建let arr1 = [];let arr2 = ['a','b','c'];二、特点 在JavaScript中,同一个数组中可以包含对象元素、函数、数组。三、数组操作方法indexOf(item,start)参数:item:指定查找的元素,类型除了对象,都可以(基本类型原创 2020-08-20 16:29:20 · 187 阅读 · 0 评论 -
js - String对象
一、使用字符串可以使用单引号或双引号,单引号里可以嵌套双引号,双引号里也可以嵌套单引号,但是单引号和双引号都不能嵌套和使用自己let w1 = " i'm a student." // truelet w2 = " he say:' today is a nice day'. " // truelet w3 = ' she say : " Can i help you? " ' // truelet w4 = " he say: " today is a nice day". " // fal原创 2020-08-19 16:16:35 · 195 阅读 · 0 评论 -
js - Number对象
在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由 浮点型类型。JavaScript 采用 IEEE754 标准定义的 64 位浮点格式表示数字,它能表示最大值为 ±1.7976931348623157e+308,最小值为 ±5e-324。精度整数(不使用小数点或指数计数法)最多为 15 位。小数的最大位数是 17,但是浮点运算并不总是 100% 准确:let x = 0.2+0.1; // 输出结果为 0.30000000原创 2020-08-19 13:43:49 · 244 阅读 · 0 评论 -
js - 爬虫的实现
爬虫的原理爬虫,就是一个自动爬取网页上展示的信息的工具。我们要写一款爬虫,就要满足下面的条件:网络的请求。首先我们要进行网络请求,让目标给我们返回信息(常用的模块有http、http2、https、request、axios、puppeteer)对返回来的数据的处理。(这部分可以随意发挥、正则等技术,而对于html文件的话,有 cheerio 模块(客户端的jQuery)、而返回来的数据可能有编码问题,iconv-lite 模块可以用于编码的转换,当然,请求时也可以直接设置response的编码)原创 2020-08-08 13:55:13 · 9264 阅读 · 3 评论 -
js - promise队列实现
function queue(array) { let promise = Promise.resolve(); array.map(v => { // 这样写所有数一起输出 // promise.then(() => { // 下面这样写可以实现队列,就是按顺序执行了 promise = promise.then(() =>{ r原创 2020-07-31 15:11:11 · 947 阅读 · 0 评论 -
js - 深拷贝的实现
function deepCopy(obj) { // 判断是否是引用类型 if (typeof obj != 'object' || obj == null) { return obj } // 判断引用类型,初始化结果 let re; if (obj instanceof Array) { re = []; } else {原创 2020-07-31 15:06:05 · 93 阅读 · 0 评论