js杂食
我脑子记不住的js的某些知识点
我家空空
这个作者很懒,什么都没留下…
展开
-
JS获取今天的开始和结束,本周的开始和结束,本月的开始和结束
直接上代码(我自己没有测试过本周和本月的函数):var initDateTools = (function(){ // 获取今天的开始:00:00:00:00 function getTodayStartTime(){ return new Date(new Date().setHours(0, 0, 0, 0)); } // 获取今天的结束 function getTodayEndTime(){ return new Date(new Date().setHours(原创 2022-04-08 22:06:27 · 1191 阅读 · 0 评论 -
记录一下我在开发过程中用到的js方法
1. 数组方法1.1 findIndex()2. 字符串方法3. 正则表达式PS:仅为了自己方便查找做个记录原创 2022-03-22 09:38:47 · 1483 阅读 · 0 评论 -
JS扁平化数组
第一种方案:array.flat(Infinity)function _flatten(arr) { // 第一种方式 return arr.flat(Infinity)}console.log(_flatten([1, [2, 3], 4]))第二种方案:递归let res = []function _flatten(arr) { for(let i=0; i<arr.length; i++){ if(Array.isArray(arr[i]))原创 2021-12-09 17:47:12 · 496 阅读 · 0 评论 -
JS的几种继承
第一种:构造函数继承核心思想:使用call()改变子类的this指向父类,使其子类实例拥有父类的属性和方法代码:function Person(name){ this.name = name this.hello = function(){ console.log('hello') }}Person.prototype.introduce = function(){ console.log('你好,我叫' + this.name)}functi原创 2021-12-07 23:12:29 · 402 阅读 · 0 评论 -
记录一下我在刷题的过程中发现我没记住的知识
2021-12-071. Number()是怎么用的?Number对象是数值对应的包装对象,可以作为构造函数使用,也可以作为工具函数使用。构造函数var n = new Number(1)console.log(n)工具函数将其它类型的值转换为数值Number(true) //1Number(234) //234Number('2345') //2345Number('234acb') //NaNNumber('') //0Number(' ') //0Number(fal原创 2021-12-07 13:54:19 · 421 阅读 · 0 评论 -
js实现千分位分隔符
核心思想:判断数字参数是否为负数,如果为负数,则保留负号(flag)将数字拆分成整数部分和小数部分(fractional,若不存在小数部分,则值为undefined),保留小数部分将整数部分转换成字符串,再转成数组(numArr),再反转准备一个新数组(commaArr),遍历整数数组(numArr),遍历将numArr中的值push到commaArr中。每遍历3次,给新数组添加,。最后返回commaArr与fractional以及flag的组合代码:<!DOCTYPE html原创 2021-12-07 10:21:13 · 822 阅读 · 0 评论 -
JS数组不能用负数作索引值
今天在做题的时候,想要通过arr[-1]访问数组arr最后一个值,但发现结果竟然是undefined。原因是数组arr中不包含-1这个属性。直接看代码:let arr = [1, 3, 6, 9, '123']console.log(arr[-1])arr[-1] = 'abc'arr[-4] = trueconsole.log(arr)输出结果:undefined[1, 3, 6, 9, '123', -1: 'abc', -4: true]...原创 2021-12-07 09:37:41 · 1087 阅读 · 0 评论 -
instanceof用法&&重写instanceof
1. 作用instanceof运算符用于检测构造函数的prototype属性是否出现在某个实例对象的原型链上。2. 语法object instanceof constructor参数object:某个实例对象constructor:某个构造函数描述instanceof运算符用来检测constructor.prototype是否存在于参数object的原型链上3. 判断引用数据类型function Person(name){ this.name = name}let p =原创 2021-12-04 14:53:44 · 358 阅读 · 0 评论 -
使用setTimeout实现setInterval
这是我在参加字节跳动的前端面试的时候问到的一个题目方法:使用递归来实现function mySetInterval(fn, time){ function interval(){ setTimeout(interval, time) fn() } setTimeout(interval, time)}参考????:用setTimeout实现setInterval...转载 2021-12-02 22:42:54 · 322 阅读 · 0 评论 -
前端:回到顶部
类似知乎的回到顶部的功能。但是还需要完善!<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>点击回到顶部</title> <style>原创 2021-11-30 16:32:59 · 349 阅读 · 0 评论 -
前端:tab选项栏
有点类似今日头条选项栏的逻辑代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>tab选项卡</title> <style>原创 2021-11-30 14:41:58 · 739 阅读 · 0 评论 -
js生成验证码
使用面向对象编程实现了一个生成验证码的功能:verificationCode.js代码:function Verification(options){ this.height = options.height || 40 //默认值 this.width = options.width || 100 //默认值 this.el = options.el this.ele = document.querySelector(this.el) this.init原创 2021-11-29 22:35:45 · 1758 阅读 · 0 评论 -
26个英文字母数组
const xArr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']原创 2021-11-29 20:26:52 · 2448 阅读 · 0 评论 -
js重写trim()方法
String.prototype.trim_ = function(){ const reg = new RegExp(/(^\s*)|(\s*$)/g) let newStr = this.replace(reg, '') console.log(newStr)}const str = ' 你好啊 'console.log(str)str.trim_()参考????:去掉字符串前后所有空格的正则表达式...转载 2021-11-28 20:54:54 · 175 阅读 · 0 评论 -
yield语句后面必须添加分号
使用Generator函数和forof循环实现斐波那契数列加分号的代码:function* fibonacci(){ let [prev, curr] = [0, 1] for(;;){ yield curr; [prev, curr] = [curr, prev + curr] }}for(let n of fibonacci()){ if(n > 100) break console.log(n)}不加分号的代码原创 2021-11-23 09:01:18 · 196 阅读 · 0 评论 -
Chrome如何禁用JavaScript
设置->隐私设置和安全性->内容->禁用JavaScript转载 2021-11-19 09:12:56 · 650 阅读 · 0 评论 -
typeof用法&&重写typeof
用法:对于原始类型来说,出了null,使用typeof都可以显示正确的类型typeof 1; //'number'typeof '1'; //'string'typeof undefined; //'undefined'typeof true; //'boolean'typeof Symbol(); //'symbol'null:typeof null; //'object'对于引用数据类型,除了函数之外,都会显示’object’typeof []; //'object'原创 2021-11-13 11:03:22 · 721 阅读 · 0 评论 -
js立即执行函数经典场景
有这样一个应用场景:页面上总共有8个按钮,按1-8的顺序给它们编号。要求点击按钮的时候,页面弹出对应的编号。代码:<body> <button>点击打印该项编号(1)</button> <button>点击打印该项编号(2)</button> <button>点击打印该项编号(3)</button> <button>点击打印该项编号(4)</button>原创 2021-11-13 10:41:46 · 229 阅读 · 0 评论 -
js种的逗号:,
用法:返回括号里最后一个console.log((4, 6)); //6console.log((3+4, 3+9, 2+4)); //6原创 2021-11-13 10:04:07 · 216 阅读 · 0 评论 -
js立即执行函数
IIFE -> immediately-invoked function expression立即执行,执行完之后立即释放,可用作初始化函数写法:第一种:(function (){ ...})();//或者使用具名函数(function test(){ ...})();第二种:(function (){ ...}()); //w3c建议写法//或者使用具名函数(function test(){ ...}());拿到立即执行函数的返回值var num =原创 2021-11-13 09:48:32 · 386 阅读 · 0 评论 -
toString()
toString()基本用法:基本数据类型调用toString()把基本数据类型的原始转换成字符串。console.log(1..toString()); //'1'console.log(1.1.toString()); //'1.1'console.log(true.toString()); //'true'console.log(Symbol(1).toString()); //'Symbol(1)'console.log(10n.toString()); //'10'引用类型原创 2021-11-12 16:30:58 · 346 阅读 · 0 评论 -
valueOf()
valueOf()基本用法:基本数据类型调用,返回调用者原本的值非日期对象的其它引用类型调用valueOf(),默认返回它本身日期对象会返回一个1970年1月1日以来的毫秒数(类似1585370128307)示例:console.log('1'.valueOf()) // '1'console.log(1.1.valueOf()) // 1.1console.log(true.valueOf()) // trueconsole.log([].valueOf()); //[]conso转载 2021-11-12 16:22:56 · 404 阅读 · 0 评论 -
JavaScript:函数的声明与定义
1. 函数声明表达式function test(args){ ...}2. 函数表达式(又叫函数字面量)2.1 使用匿名函数赋值var test = function() { ...}2.2 使用具名函数赋值var test = function test1() { console.log(1, 2); //可以在函数使用test1()内部调用该函数,外部不能使用 //不过会出现死循环 test1();}console.log(test.name); //test1t原创 2021-11-12 12:57:27 · 293 阅读 · 0 评论