JavaScript
流氓也是种气质 _Cookie
人生不能等待,学习赚钱就趁现在。预见桃花何处源,横笛偏向行路难。
展开
-
关于js对象赋值
b = ab.c = 2console.log(a, b) //{a: 1, c: 2} {a: 1, c: 2} 影响了源对象。原创 2023-01-28 16:41:07 · 1944 阅读 · 0 评论 -
http-serve开启一个服务器
的链接时,HTML页面就无法正常打开,为了解决这种情况,需要在在本地开启一个本地的服务器。在写前端页面中,经常会在浏览器运行HTML页面,从本地文件夹中直接打开的一般都是。只输入http-server的话,更新了代码后,页面不会同步更新)3 开启 http-server服务。4 关闭 http-server服务。2 下载http-server。下载完成后在命令行输入命令。检查版本,确认是否安装成功。1 下载node.js。原创 2023-01-06 14:22:39 · 1028 阅读 · 0 评论 -
03 重学js-高级函数,闭包,函数柯里化
高级函数,闭包,函数柯里化,高级柯里化实现原创 2022-06-27 15:11:13 · 177 阅读 · 0 评论 -
02 重学js-原型链,this指向及改变this指向
原型链,this指向及改变this指向原创 2022-06-27 11:32:39 · 833 阅读 · 0 评论 -
01 重学js-类型转换,作用域
类型转换,隐式转换,运算符逻辑中断,作用域,js运行机制 ,事件委托原创 2022-06-27 10:53:26 · 99 阅读 · 0 评论 -
ES6 对象的一些常用API
01 .Object.assign属性从一个或多个源对象复制到目标对象,返回修改后的对象。PS:相同的值会被覆盖掉js中两种变量类型值类型引用类型对值类型很好理解,变量赋值如下let a = 0;let b = a;// 这里a和b是两个变量a = 100console.log(a, b)// 分别打印 100, 0引用类型(或者指针类型),js中的对象就是引用类型。我一般通过,Object.assign或者JSON.stringify来赋值新的对象变量但是这两.原创 2022-05-27 15:16:27 · 212 阅读 · 0 评论 -
window.open()打开窗口的几种方式
1. 在当前窗口打开百度,并且使URL地址出现在搜索栏中.window.open("http://www.baidu.com/", "_search");window.open("http://www.baidu.com/", "_self");2. 在一个新的窗口打开百度window.open("http://www.baidu.com/", "_blank");3. 打开一个新的窗口,并命名为"hello"window.open("", "hello");另外, open函数转载 2022-04-14 14:11:51 · 9197 阅读 · 0 评论 -
js加减乘除丢失精度问题及解决方法
造成的精度丢失在javascript中,带小数的数据运算时总会出现好多位小数.这是因为在javascript中浮点数的计算是以2进制计算的 /** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失。 * * @param num1加数1 | num2加数2 */ function numAdd(num1, num2) { var baseNum, baseNum1, baseNum2; try { baseNum1 = num1.toString().spl..转载 2022-03-31 14:50:18 · 7771 阅读 · 2 评论 -
js 添加css样式的几种方式及className
添加style样式/* 1.直接设置style属性 */element.style.height = '100px'; /* 2.直接设置属性 */element.setAttribute('height', '100px'); /* 3.使用setAttribute设置style属性 */element.setAttribute('style', 'height: 100px !important'); /* 4.使用setProperty设置属性,通过第三个参数设置impo..原创 2022-01-19 09:31:31 · 1986 阅读 · 0 评论 -
js 指定小数位数的数字四舍五入
function getPercent1(num, total) { num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "-"; } // toFixed 小数点向上取整 return total <= 0 ? "0%" : (Math.round(num / total * 100.原创 2022-01-04 11:04:29 · 276 阅读 · 0 评论 -
js 操作字符串的api 及案例
获取指定位置的字符 charAt(index)'abc'.charAt(1) // b循环字符串 for offor(let item of 'abc') {console.log(item)} // a b c原创 2021-12-23 14:33:58 · 528 阅读 · 0 评论 -
async await 更加优雅的处理异步方式
async await 更优雅的异步处理的方式,其实就是Promise 的语法糖,其本质还是Promise 这套原理async function test() { return 1 // 这里如果不是promise实例会自动实例化会Promise } console.log(test()) console.log(test() instanceof Promise) // true async function test1() { .原创 2021-12-22 14:47:30 · 253 阅读 · 0 评论 -
循环window.location下载文件,每次只下载最后一个
解决方案:var a = document.createElement('a');//在dom树上创建一个a标签let url = url a.href = url;//将url赋值给a标签的href属性a.download = id;//设置设置下载文件的名称a.click();//主动触发a标签点击事件原创 2021-12-20 15:43:31 · 1492 阅读 · 0 评论 -
就因为JSON.stringify,我的年终奖差点打水漂了
尊重原创:前端胖头鱼https://juejin.cn/post/7017588385615200270就因为JSON.stringify,我的年终奖差点打水漂了本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。前言「欢迎在评论区讨论,掘金官方将在掘力星计划活动结束后,在评论区抽送100份掘金周边,抽奖详情见活动文章」开发要对线上环境有一颗敬畏之心,任何一个点都有可能导致线上故障,也有可能让你的年终奖泡汤(⊙︿⊙)。比如使用了JSON.stringify,这个无比熟悉但又...转载 2021-10-13 14:49:26 · 637 阅读 · 0 评论 -
在JS函数中返回多个值的方法
function test1() { return new Array('11','22') }let num1 = test1()console.log(num1[0], num1[1]) // 11, 22function test2() { return [2,3] }let num2 = test2()console.log(num2[0], num2[1]) // 2, 3 function test3() { ret.原创 2021-10-13 14:35:11 · 778 阅读 · 0 评论 -
js 代码优化
一. if 优化策略// 优化前if (this.title == '断面历史问题' || this.title == '断面在线监测' || this.title == '水质排查任务完成情况') { data.problemId = this.problemInfoId}// 优化后if(['断面历史问题','断面在线监测','水质排查任务完成情况'].includes(this.title)) { data.problemId = this.problemInfoId}/原创 2021-09-26 19:58:52 · 72 阅读 · 0 评论 -
js 循环对象的四种方法
1.for inlet obj = { 'name': 'cookie', 'age': 18}for (let key in obj) { console.log(key); // name age console.log(obj[key]); // cookie 18 if(key == 'name') { break // break 能跳出循环 } console.log(key); // 没有值输出 if(key == 'name') {..原创 2021-08-22 22:11:18 · 46171 阅读 · 0 评论 -
ES6 数组的一些常用API
every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。// const isBelowThreshold = (currentValue) => currentValue < 40;// const array1 = [1, 30, 39, 29, 10, 13];// console.log(array1.every(isBelowThreshold)); // true 数组中的值都小于 40some() 方法测试数组中是不是至少有1..原创 2021-08-22 21:49:26 · 914 阅读 · 0 评论 -
js 和 jquery 操作Dom
jquery 控制Dom 的显示与隐藏// 控制class为war的显示与隐藏<div class="war"> 控制的元素</div> $('.war').show() $('.war').hide()原创 2021-08-20 09:33:47 · 85 阅读 · 0 评论 -
js 获取昨天,当天日期
Date.prototype.Format = function (fmt) { // author: meizz var o = { "M+": this.getMonth() + 1, // 月份 "d+": this.getDate(), // 日 "h+": this.getHours(), // 小时 "m+": this.getMinutes(), // 分 "s+": this.getSeconds(), // 秒 "q+": Math.f.转载 2021-08-17 12:21:18 · 327 阅读 · 0 评论 -
[JS]判断一个对象是否为空对象
今天遇到判断是否为空对象的问题,发现还有很多细节待学习,下面我简单总结一下。列出以下几种情况: 1 let obj = {} 2 3 let obj1 = { 4 name: "jack" 5 } 6 7 let obj2 = { 8 [Symbol("name")]: "jack", 9 }10 11 let obj3 = Object.defineProperty({}, "name", {12 value: "john",13 enumerab..转载 2021-08-16 17:26:59 · 117 阅读 · 0 评论 -
js报错Uncaught SyntaxError: Illegal return statement
let arr = ['a','b','c'] for( let i=0;i<=arr.length;i++){ if (i ==2 ){ console.log(arr[i]) return // 报错 Uncaught SyntaxError: Illegal return statement,只能在function中使用 } }只能在函数中使用returnfunction run()..原创 2021-08-16 09:21:01 · 1045 阅读 · 0 评论 -
promise的使用
async chongGuo() { let res = await new Promise((resolve, reject)=>{ // 同步 console.log(1); resolve('99') }) let res1 = res console.log(res1); console.log(2); }执行顺序原创 2021-08-11 16:33:01 · 101 阅读 · 0 评论 -
使用flv.js和Jessibuca方式播放流媒体 rtmp/rtsp
使用flv.js播放流媒体 rtmp/rtsp,flvjs是一个H5播放器。FLV是一种协议。flvjs可以用于播放FLV格式的视频。支持解码H.264视频(Baseline, Main, High Profile全支持,支持解码B帧视频)支持解码H.265视频(flv id == 12)支持解码AAC音频(LC,HE,HEv2 Profile全支持)支持解码PCMA音频以及PCMU音频格式可设置播放缓冲区时长,可设置0缓冲极限低延迟(网络抖动会造成卡顿现象)支持WASM智能不花屏丢帧,长时间播原创 2021-08-01 20:36:40 · 13574 阅读 · 6 评论 -
js url 传参及获取参数
http://localhost:8081/app/problemtest/page&type=all // 传参获取参数function getParams() { let href = location.href console.log(href) var url = location.search; //获取url中"?"符后的字符串包括‘?’ ,window.location.href获取的是url完整的字符.原创 2021-07-10 11:57:46 · 458 阅读 · 0 评论 -
js怎么获取路径后面带过来的参数?
function getUrlParam() { var url = location.search; //获取url中"?"符后的字符串包括‘?’ ,window.location.href获取的是url完整的字符串 var theParam = new Object(); if (url.indexOf("?") != -1) { //确保‘?’不是最后一个字符串,即携带的参数不为空 var str = url.substr(1); //substr是字符串.原创 2021-07-05 18:12:01 · 490 阅读 · 0 评论 -
javscript 滚动到指定位置
1.使用a标签+#号<a href="#box1">我跳到box1</a><div id="box2"></div>上面这一种的缺点是,url会发生改变,会在url最后面加上片段识别符#box2,这样就改变了URL的路径,这是我们不想看到的。因为再次刷新的时候回出现问题。当使用 vue-router回退时,发现需要回退很多次。2.scrollTop滚动到某位置document.documentElement.scrollTop=380;原创 2021-06-24 15:40:51 · 158 阅读 · 0 评论 -
工作中遇到的js的一些用法
obj = { name: 'cookie', callBack : function() { test() } } function test() { console.log('test'); } if (typeof(obj.callBack) == 'function') { obj.callBack() }原创 2021-04-23 15:51:23 · 62 阅读 · 0 评论 -
javascript 循环数组的六种方式
let list = ['1', '2', '3']// list 是objectfor (const key in list) { console.log(list[key]);}for(let i=0 ; i< list.length; i++) { console.log(i); // 索引值}console.log(1); // 控制台输出 字体是蓝色 是int型console.log('1'); // 控制台输出 字体是黑色 是字符串型console.log(l.原创 2021-04-22 11:33:56 · 1795 阅读 · 0 评论 -
Javascript 节流和防抖
节流,防抖防抖案例:百度搜索,有用户输入不会每次发起请求当用户输入完等0.2s再发起请求节流案例:拖拽一个元素时我们要随时拿到该元素拖拽的位置, 直接用drag事件则会频繁触发很容易卡顿,节流是无论拖拽多快,我们设定每隔100ms触发一次、<input type="text" class="input1">let input1 = document.querySelector('.input1')// 监听一个键盘按下事件 // input1.addEventListener原创 2021-02-01 20:13:36 · 217 阅读 · 0 评论 -
Javascript 手写bind 函数
手写bind方法前提先掌握bind 语法和使用 ,及call ,apply的语法原创 2021-01-29 20:13:17 · 154 阅读 · 0 评论 -
Javascript 闭包
闭包是高阶函数中的一种,高阶函数 是接收一个函数作为参数 或者是返回一个参数闭包 指有权访问念一个作用域中变量的函数简单的理解 :一个函数作用域可以访问念外一个作用域中的局部变量闭包的主要作用是延伸了作用域的范围function fun() { let num = 10; function fn() { console.log(num); // 在fn作用域中能访问 fun中的作用域 ,说明有闭包的产生 } fn() }fun()fu原创 2021-01-26 19:45:24 · 111 阅读 · 0 评论 -
Javascript call apply bind 改变this 指向
优雅的改变this指向 call() bind() apply()call 字面意思呼叫 apply 是应用 bind是捆绑的意思 这个最特别也是我们最常用的fun.call(thisArg,arg1,arg2,...) //第一个参数是把this指向谁,后面的是其他类型参数 // call的作用 1是调用函数 2是改变this指向// 主要作用是实现继承 在es5的时候function run(a,b) { console.log(this); con......原创 2021-01-26 19:34:53 · 79 阅读 · 0 评论 -
Javascript this 指定问题
this 是在函数执行的时候决定的,而不是定义的时候决定的!!!this 指向也是有原则的,一般this执向调用者本身我们简单来看下不同函数的this 指向问题// 普通函数this 指向windowfunction run() { console.log(this);}window.run() // 完整的写法是这样的,window是调用者,普通函数this指向window // 对象方法 this指向ovar o = { say() { con原创 2021-01-26 19:26:19 · 83 阅读 · 0 评论 -
Javascript 获取用户输入,条件判断
<body> <html> <script> function f() { try { //获取用户输入的数据 var x = document.getElementById("demo").value; if (x ==...原创 2019-12-06 18:27:18 · 3109 阅读 · 0 评论