
JavaScript
文章平均质量分 53
张续栋
心平可愈三千疾,心静可通万事理
展开
-
手写Promise并且手写async/await的实现原理手写实现
async/await 是一种简化异步操作的语法糖,使异步代码更加易读易维护。掌握其原理和实现步骤有助于更好地理解其使用方法和优化异步代码。原创 2023-02-26 00:08:52 · 566 阅读 · 1 评论 -
手写promise原理——高阶函数实现——函数柯里化原理——实现通用柯里化函数——函数订阅发布模式实现——手写观察者模式
1. 高阶函数// 高阶函数: 如果一个函数的参数是一个函数(回调函数也是高阶函数的一种)// 如果一个函数返回 一个函数 当前函数也是一个 高阶函数 // 扩展当前业务代码 function say(a,b){ console,log("say",a,b);}// 给某个方法添加方法 在执行之前调用 Function.prototype.before = function(callback){ // let _this = this; // 让this 指向say //ret原创 2021-12-07 14:23:19 · 735 阅读 · 0 评论 -
ES6 总结和 vue 双向绑定原理解析与实现
let和 constvar 声明的变量 (污染全局变量)var a = 1;console.log(window.a);// let 的话 为 underfin变量提升console.log(a); // function varvar a = 1; // let 或者 const 变量不提示 (var 是underfund let 是 not de fined )重复声明 var a = 1; var a = 2; // let 是报错let 作原创 2021-10-21 09:22:30 · 302 阅读 · 0 评论 -
vue js对input输入数字后两位(金额输入框)
js控制input框只能输入数字和一位小数点和小数点后面两位小数html代码 <input id="money" type="number" step="1" pattern="number" class="form-control" placeholder="¥ 输入付款金额" aria-label="Example text with button addon">js代码// 金额计算 $("#money").on('input propertychange',fu原创 2021-04-05 10:24:06 · 871 阅读 · 0 评论 -
js计算精度(加减乘除)确保计算不失去精度
加:function dcmAdd(arg1,arg2){var r1,r2,m; try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}m=Math.pow(10,Math.max(r1,r2));return (accMul(arg1,m)+accMul(arg2,m))/m;}减:function原创 2020-09-28 15:14:00 · 848 阅读 · 0 评论 -
一键拨打电话(html,小程序,uniapp)
最近看到一个好玩的东西,打算记录一下通过一行代码,一键播打电话,打算总结一下对于js的一键拨打电话:一键拨打电话<a href="tel:13764567708">一键拨打电话</a>这是最常用的拨打电话方式,显示电话号码,提示并且一键拨打一键拨打电话...原创 2020-07-29 16:59:57 · 3188 阅读 · 3 评论 -
js实现input输入的数字只能大于等于1 (适用于uniapp小程序)
最近写了个小程序有个input输入框要求只能输入大于1 的数字<template> <input class="inputPrice" :maxlength="maxLength" type="digit" v-model="currentPrice" @input="checkPrice"></template><script> export default { data() { return { maxLength: 5,原创 2020-07-28 15:29:57 · 4174 阅读 · 1 评论 -
uniapp的请求封装(含post ,get,put ,delete)
最近使用uniapp写小程序,但是没有合适的数据请求,于是自己熬夜写了一个。下面是对于代码的解释:请求的初步封装export default class request { // 配置项 constructor(options) { //请求公共地址 this.baseUrl = options.baseUrl || ""; //公共文件上传请求地址 this.fileUrl = options.fileUrl || ""; //默认请求头 this.header =原创 2020-06-10 18:04:47 · 10601 阅读 · 2 评论 -
随机数组中出现最多的元素,如果一样多都获取
下班回家,有一盆友,问我一道面试题,要求获取一个随机数组的出现最多的元素,如果又好几个元素和最多的一样多,就最多的全部获取下面是代码:<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <tit原创 2020-05-27 22:15:46 · 205 阅读 · 0 评论 -
js基础
js初体验轻量级脚本编程语言js作用:与用户交流互动 简称交互js引入方式内嵌式:demo学习阶段外链式:工作使用行内:一般不用js注释// ctrl+/ 单行注释 ,一般做简单的说明 说明;/* ctrl+shift+/ 多行注释可以回车写很多的注释函数、功能:介绍用多行注释;*/js输入输出//输入信息(带有引导信息) 小括号内用单引号或双引号,只...原创 2020-05-06 20:44:57 · 172 阅读 · 0 评论 -
Es6语法总结(部分)
Es6量产含义特指ECMAScript2015泛指ES2015之后的新特性, ES2018 ES2019let和constlet和var的区别不能重复定义没有变量提示(var定义的变量是有变量提升的),必须先定义在使用全局变量不会附加到window对象的属性中具有块级作用域 (除了对象字面量外其它的都是代码快)单独的快作用域书写形式: { 这是块级作用域}自...原创 2020-04-19 08:20:57 · 172 阅读 · 0 评论