javaScript
文章平均质量分 59
Veranew
这个作者很懒,什么都没留下…
展开
-
面试题:如何判断一个对象是否属于某个类
目录如何判断一个对象是否属于某个类`typeof``instanceof``constructor``Object.prototype.toString.call()`如何判断一个对象是否属于某个类typeoftypeof对于判断除了null之外的基本类型是准确的,但无法判断null、object、array等类型。所以它只在区别对象和原始类型的时候才有用。console.log(typeof 42);// expected output: "number"console.log(typeof原创 2021-04-12 11:16:30 · 1613 阅读 · 0 评论 -
面试题:call 、apply、bind区别
call 、 apply 、 bind 区别首先明确,call、apply、和bind都是改变this指向的方法。该方法的语法和作用与 apply() 方法类似,只有一个区别,就是 call() 方法接受的是一个参数列表,而 apply() 方法接受的是一个包含多个参数的数组。call// MDN的例子function Product(name, price) { this.name = name; this.price = price;}function Food(name,原创 2021-04-12 10:36:07 · 276 阅读 · 0 评论 -
面试题:请讲一下闭包
目录作用域闭包的用途注意闭包形成的三个条件闭包的十种表示方式关于闭包的练习题作用域要理解闭包,首先要理解变量的作用域。作用域分为全局作用域和函数作用域(ES5)。在作用域链上,函数内部可以获取外部的变量,但是函数外部不能获取函数内部的变量。闭包就是可以在函数外部获取内部变量的一种方法。闭包最大的特点就是可以记住他所诞生的环境,本质是链接函数内外部。闭包的用途读取函数内部的变量,这些变量始终在内存中(因为引用关系一直存在)。-----所以在不用变量之后需要手动释放变量。能够封装对象的私有原创 2021-04-09 14:15:59 · 315 阅读 · 0 评论 -
一、ES6复习——let&const
本文讲述了es5使用var带来的问题,以及介绍了let和const的特性。原创 2021-03-29 11:01:47 · 136 阅读 · 0 评论 -
多组时间段判断不能交叉重叠
基本的思路,日期也可以当成字符串进行比较,把开始日期,结束日期分别存进两个数组,并用sort排序,循环遍历数组,从开始时间的第二个元素去比较结束时间的第一个元素,如果小于,就代表时间段有交叉,直接跳出,不然就继续遍历,遍历结束,说明时间没有重复,可以提交。 function compareDate(begin = [], over = []){ begin = begin.sort() over = over.sort() for(let i=1;i<.原创 2020-12-14 19:35:57 · 2833 阅读 · 2 评论 -
鼠标事件中clientX、offsetX、screenX、pageX、x的区别
clientX、clientYlong 型可选,默认为 0,设置鼠标事件时相对于客户端窗口的水平坐标位置;该操作并不会改变真实鼠标的位置。pageX、pageYpageX 是一个由MouseEvent接口返回的相对于整个文档的x(水平)坐标以像素为单位的只读属性。这个属性将基于文档的边缘,考虑任何页面的水平方向上的滚动。举个例子,如果页面向右滚动 200px 并出现了滚动条,这部分在窗口之外,然后鼠标点击距离窗口左边 100px 的位置,pageX 所返回的值将是 300。对于整个页面来说原创 2020-12-08 15:51:36 · 718 阅读 · 0 评论 -
~ 和 !放在if()代码块中做条件判断
之前写if语句的时候,括号中都是这样写的:if (time < 10) { // do some things }if (index > -1) { // do some things}if (value === 200) { // do some things}这样的代码其实也是可以的,不过对于有些代码可能有更简洁的方式。判断存不在时,可以用 ! 取反const arr = [1, 2, 3, 4, 5]const isExist = arr.incl原创 2020-06-22 14:38:16 · 1019 阅读 · 0 评论 -
代码起名最好用英文
起名的学问说大不大,说小不小。今天上传服务器,结果图片都识别不了,一查发现,是因为起名的原因。变量,文件,文件夹,图片,都得起英文名啊!不然放服务器不好使,还得一个一个改,不够麻烦的···...原创 2020-04-01 13:33:25 · 503 阅读 · 0 评论 -
Vue实现购物车
这个是效果图(丑就丑点吧,功能实现就行):选中的商品,计算对应的总价全选与反选,总价对应变化步进器,选中的商品的数量加减的同时,总价也相应变化移除,对应总价变化<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewpo...原创 2019-12-12 17:09:45 · 371 阅读 · 0 评论 -
【刷题】Who likes it?
原题目:You probably know the “like” system from Facebook and other pages. People can “like” blog posts, pictures or other items. We want to create the text that should be displayed next to such an item...原创 2019-12-09 11:33:17 · 580 阅读 · 0 评论 -
【刷题】把字符串中包含5个和5个以上的单词翻转,输出新字符串
原题目:Write a function that takes in a string of one or more words, and returns the same string, but with all five or more letter words reversed (Just like the name of this Kata). Strings passed in wi...原创 2019-12-09 10:15:35 · 512 阅读 · 0 评论 -
【刷题】求两个整数之间所有整数的和
原题目:Given two integers a and b, which can be positive or negative, find the sum of all the numbers between including them too and return it. If the two numbers are equal return a or b.Note: a and b...原创 2019-12-05 16:50:09 · 2471 阅读 · 0 评论 -
【刷题】将字符串的后四位显示,其他全部变成“#”
原题目:Usually when you buy something, you’re asked whether your credit card number, phone number or answer to your most secret question is still correct. However, since someone could look over your sh...原创 2019-12-05 15:43:51 · 499 阅读 · 0 评论 -
【刷题】将字符串中的所有元音字母删除,返回删除后的新字符串(js)
原题目:Trolls are attacking your comment section!A common way to deal with this situation is to remove all of the vowels from the trolls’ comments, neutralizing the threat.Your task is to write a fun...原创 2019-12-05 15:10:26 · 1323 阅读 · 0 评论 -
Promise和setTimeout执行顺序的问题
关于Promise和setTimeout执行顺序的问题,先看一道题:写出console.log输出的值: console.log('one'); setTimeout(function(){ console.log('two'); },0); Promise.resolve().then(function(){ console.log('three'); }) ...原创 2019-12-04 14:52:04 · 430 阅读 · 0 评论 -
微信公众号前端-上传图片小记
话不多说,先来源代码//微信上传图片// 思路:// 研究微信jssdk开发文档// 微信要求:通过config接口注入权限验证配置// 先发送请求,获取到后台给的appId、timestamp、nonceStr、signature数据// 然后在请求成功的回调里面注入权限验证配置var wxUrl = HOST + "/Register/GetWXInfo";$.ajax({ ...原创 2019-11-29 15:01:26 · 616 阅读 · 0 评论 -
ES6中的类的初步了解分析
ES6中的类的初步了解分析ECMAScript 2015 中引入的 JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖。类语法不会为JavaScript引入新的面向对象的继承模型。定义类实际上是个“特殊的函数”,就像你能够定义的函数表达式和函数声明一样,类语法有两个组成部分:类表达式和类声明。先了解类声明:// 类声明class Star {...原创 2019-08-21 20:15:38 · 131 阅读 · 0 评论 -
Ajax的基本概念和简单的实现过程
Ajax的基本概念和简单的实现过程基本概念在此之前,我们通过以下几种方式,让浏览器发出对服务端的请求,获得服务端的数据:地址栏输入地址,回车,刷新特定元素的href或src属性表单提交这些方案都是我们无法通过或者很难通过代码的方式进行编程(对服务端发出请求并且接受服务端返回的响应–网络编程),如果我们可以通过JavaScript直接发送网络请求,那么web的可能就会更多,随之能够实...原创 2019-08-22 21:29:34 · 164 阅读 · 0 评论 -
node中使用mysql模块的步骤
// 终端中输入 npm i mysql , 安装mysql模块// 1. 加载mysqlconst mysql = require('mysql');// 2.设置连接参数,创建连接对象const conn = mysql.createConnection({ host: 'localhost', // 在别人电脑上就写别人的IP,自己电脑写localhost port: 3...原创 2019-09-06 20:03:10 · 462 阅读 · 0 评论 -
封装 mysql 使用的步骤
新建一个文件夹, vscode打开终端,npm i mysql文件夹中新建文件db.js// 封装mysql使用的步骤// 将封装后的函数导出(导出的目的是给其他文件使用)function a(sql, params, cb) { const mysql = require('mysql'); const conn = mysql.createConnection({ ...原创 2019-09-06 20:29:19 · 253 阅读 · 0 评论 -
使用node做hero小项目(二)
三、完成index.html页面开发3.1 完成getHeroes 接口在app.js中// =======================================================// 接口// 页面中引入db模块const db = require('./db');// 1. 获取所有的英雄app.get('/getHeroes', (req, res) ...原创 2019-09-07 20:02:02 · 178 阅读 · 0 评论 -
正则表达式的初步了解
认识正则表达式正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。正则表达式有很多用处,例如:检索关键字,过滤敏感字符,表单验证等等。正则表达式的灵活性、逻辑性和功能性都很强,可以迅速地用极简单的方式达到字符串的复杂控制。对于刚接触的人来说,比较晦涩难懂。比如:^\w+([-+.]\w+)*@\w+([-.]\...原创 2019-08-19 17:30:14 · 181 阅读 · 0 评论