javaScript
javaScript
saturday-yh
Object.create(null)
展开
-
js 面向对象(多态)
js的多态子类对父类方法的重写, 这个会默认执行子类的方法, 即实现多态不同子类执行父类的同名方法会有不同的结果, 即下面这种还有函数参数个数, 参数类型的多态不同子类执行父类的同名方法会有不同的结果实现方式父类中调用未来子类的方法子类的创建的时候, 写自己的方法, 继承父类, 调用父类的同名方法的时候, 父类原型上的this此时指向子类这个时候就会调用不同子类的方法 function Base() { Base.prototype.initfun = funct...原创 2022-04-23 14:23:38 · 326 阅读 · 0 评论 -
JS 类型检测方法
javascript的变量类型分为原始类型和引用类型。原始类型有6种, 注意多了 Symbol Number String Boolean Null Undefined Symbol 引用类型包括 Function Array Date Object RegExp 而检测这些类型的变量有3种办法:typeof,instanceof,Object.prototype.toString.call。让我来一一例举,废话不多说,上代码。//首先是typeo原创 2022-01-19 16:19:15 · 323 阅读 · 0 评论 -
js 中的全队列方法
给定一个字符串,输出该字符串所有排列的可能。如输入“ABC”,输出"ABC", "ACB", "BAC", "BCA", "CAB", "CBA"。1、判断当前字符长度2、拿到当前位置字母3、通过递归得出不同排列,然后当前字母进行拼接function fullpermutate(str) { var result = []; if (str.length > 1) { //遍历每一项 for (var m = 0; m < str.length; m++)原创 2021-08-18 15:52:20 · 122 阅读 · 0 评论 -
Javascript中apply、call、bind
对于这句话,不能赞同更多,也让我下决心好好写这篇,网上文章虽多,大多复制粘贴,且晦涩难懂,我希望能够通过这篇文章,能够清晰的提升对apply、call、bind的认识,并且列出一些它们的妙用加深记忆。apply、call在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改...原创 2021-08-12 14:40:55 · 121 阅读 · 0 评论 -
防抖和节流
1、创建一个静态js文件utils.js2、在组件中引入<template> <div> <el-input placeholder="输入关键字进行过滤" @input="inputChange" v-model="filterText"> </el-input&...原创 2020-01-06 15:10:17 · 620 阅读 · 0 评论 -
js 操作数组、对象排序、去重、合并
去重数组arr.includes(指定元素(必填),指定索引值(可选,默认值为0) ),有值返回true,没有则返回falsevar arr = [-1,0,8,-3,-1,5,5,7] function unique (arr) { let arr1 = [] for (var i = 0; i < arr.length; i++) { if (!arr1.includes(arr[i])) { arr1.push(a原创 2021-07-28 11:15:39 · 379 阅读 · 0 评论 -
js 键值对去重
var arr3= [{ name: "张三", value: "0"}, { name: "李四", value: "1"}, { name: "王二", value: "2"}, { name: "王二", value: "2"}, { name: "李四", value: "1"}]function unique(arr){ let obj = {}; return arr.filter((ite.原创 2021-07-07 16:46:44 · 523 阅读 · 0 评论 -
javascript 数组对象查询是否包含某个值
var arr = [{ name: "张三", id: "0"}, { name: "李二", id: "1"}]var result = arr.some(function(item) { if (item.name == "张三") { //item.name == "王麻子" return true; //返回false }})console.log(result);var arr = [{ name: "张.原创 2021-07-07 16:44:05 · 3824 阅读 · 0 评论 -
js中 数组、数组对象中查重、包含、并集、包含关系
// 数组对象测试有无重复值 var data = [{ beginTime: '2020-12-02 20:22', repeatable: 0, enabled: 0 }, { beginTime: '2020-12-02 20:22', repeatable: 1, enabled: 1 }] const beginTime = data.map(value => v.原创 2021-03-29 17:00:13 · 1248 阅读 · 0 评论 -
js 显示12小时,24小时制时间
jsvar date = new Date();this.nowTime = date.toLocaleString('chinese', { hour12: false });let timer = setInterval(() => { this.getDate() }, 1000)原创 2020-11-09 14:05:23 · 2531 阅读 · 0 评论 -
reduce()方法-数组去重、对象求和等
arr.reduce(callback,[initialValue]) 1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue)) 2、currentValue (数组中当前被处理的元素) 3、index (当前元素在数组中的索引) 4、array (调用 reduce 的数组)2、实例解析 initialValue 参数先看第一个例子:var arr = [1, 2, 3, 4];var su...原创 2020-05-21 15:46:52 · 3363 阅读 · 0 评论 -
利用js动态创建a标签单个文件及多个文件下载
//创建下载url数组//这个地址是在其他地方找的,如果不能用,需自行找一些地址来测var data= ['http://cachefly.cachefly.net/100mb.test','http://speedtest.fremont.linode.com/100MB-fremont.bin']//单个下载文件测试var url= "http://cachefly.cachef...原创 2020-04-27 14:26:26 · 3597 阅读 · 3 评论 -
input 上传 文件 或图片 删除后 不能再次添加
<input type='file' ref=‘upload’>this.$refs.upload.value = null原生方式 <input id="file" type='file' ref=‘upload’>document.getElementById("file")[0].value = null原创 2020-04-24 13:07:00 · 1028 阅读 · 0 评论 -
深浅拷贝方法
let a = { age: 1}let b = aa.age = 2console.log(b.age) // 2浅拷贝首先可以通过Object.assign来解决这个问题,很多人认为这个函数是用来深拷贝的。其实并不是,Object.assign只会拷贝所有的属性值到新的对象中,如果属性值是对象的话,拷贝的是地址,所以并不是深拷贝。let a = { ag...原创 2020-03-08 20:38:03 · 258 阅读 · 1 评论 -
时间转换 拼接
/** * 时间戳转时间 * @param timeNumber : number * @param {boolean} [onlyDate=false] * @return {*} : string */export const numberToTime = function (timeNumber, onlyDate) { function toDou (iNow) { ...原创 2020-03-06 15:13:59 · 308 阅读 · 0 评论 -
javascript sort() 排序,冒泡排序
不传参数,按照字符编码的顺序进行排序; var arr = ['General','Tom','Bob','John','Army']; var resArr = arr.sort(); console.log(resArr);//输出 ["Army", "Bob", "General", "John", "Tom"] ...原创 2020-02-28 19:53:13 · 259 阅读 · 0 评论 -
module.exports和export 模块化实例
const data = { "code": 201}const calc = function() { console.log("這是一個函數");}export {data,calc}export const data = { "code": 201}export const calc = function() { console.log("這是一個函數");...原创 2020-01-10 17:15:07 · 658 阅读 · 0 评论 -
使用uppy 上传文件
<!doctype html><html><head> <meta charset="utf-8"> <title>Uppy</title> <!-- 1. Add CSS to `<head>` --> <link href="https://translo...原创 2020-01-07 14:27:56 · 4639 阅读 · 1 评论 -
js img 图片转BASE64
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-...原创 2019-12-10 14:07:18 · 965 阅读 · 0 评论 -
上传图片
使用input(这里使用的是elementUI)<el-form-item label="用户头像" style="overflow:hidden;"> <input type="file" accept="image/gif, image/jpeg, image/jpg, image/png" ref="file1"> &...原创 2019-11-25 12:11:56 · 61 阅读 · 0 评论 -
字符串 和 数组去重
字符串:利用对象属性来判断function removeRepeatStr(str){ var obj = {}; var newStr = ''; var len = str.length; for(var i=0; i<len; i++){ if(!obj[str[i]]){ newStr = newStr +...原创 2019-11-12 12:09:22 · 306 阅读 · 0 评论 -
js中 数组、对象数组的去重优化,大数据
// 计算去重时间 distinct.jslet arr1 = Array.from(new Array(100000), (x, index)=>{ return index})let arr2 = Array.from(new Array(50000), (x, index)=>{ return index+index})let start = n...原创 2019-11-12 11:51:07 · 1236 阅读 · 0 评论 -
闭包实例...
function box(){ var arr = []; for(var i=0;i<5;i++){ arr[i] = (function(num){ //num在这里 //原理和上面一种方法一样的,所以可以实现闭包 ...原创 2018-08-07 17:21:16 · 615 阅读 · 0 评论 -
获取URL地址栏的参数
方法一:采用正则表达式获取地址栏参数:function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)r...原创 2018-08-07 10:18:52 · 4148 阅读 · 0 评论 -
for循环
<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author&原创 2018-07-31 09:44:24 · 195 阅读 · 0 评论 -
关于 substr 和 substring
substr和substring两个都是截取字符串的。两者有相同点,如果只是写一个参数,两者的作用都是一样的:就是截取字符串当前下标以后直到字符串最后的字符串片段。例如:`var a=”abcdefghiklmnopqrstuvwxyz”;var b=a.substr(3);var c=a.substring(3);console.log(b);console.l...原创 2018-07-30 22:51:54 · 572 阅读 · 0 评论 -
同源策略 -- 跨域请求
前后端分离编码总是会遇到跨域问题,那么究竟应该如何解决呢?所谓同源就是指:协议相同 域名相同 端口相同举例来说:http://www.example.com/dir/page.html个网址中,协议是http://,域名是www.example.com,端口号是80*(默认)http://www.example.com/dir2/other.html:同源http://exa...原创 2018-07-30 14:44:35 · 250 阅读 · 0 评论 -
JavaScript setInterval 循环执行 的原理
function say(){ alert("Hello World") } setInterval(say(),2000);这样定时器就只执行了一次原理是:say()这是一个函数调用,函数调用就会有返回值,而say()没有返回值,所以这里的say()是一个undefined,自然你想要的循环执行say()这个函数就不会发生。 setInterval("say()",200...原创 2018-07-30 14:24:55 · 3914 阅读 · 1 评论 -
原生JS图片滚动--无缝、平滑、上下左右滚动
<head><-----></head><body> <!--向下滚动代码开始--><div id="colee" style="overflow:hidden;height:253px;width:410px;"><div id="colee1"&am原创 2018-07-29 16:29:47 · 4259 阅读 · 0 评论 -
js Date 时间转换 毫秒 中文 自定义
Date.prototype.toLocaleString=function(){ var year=this.getFullYear(); if((this.getMonth()+1)<10){ var month="0"+(this.getMonth() + 1); } if((this.getDate()<10)){ var day="0"+thi...原创 2018-07-06 11:30:23 · 751 阅读 · 0 评论 -
jquery validate简单的表单验证
<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title><script src="http://static.runoob.com/assets/jquery-validation-1.原创 2018-07-05 11:45:23 · 148 阅读 · 0 评论 -
jquery获取元素各种宽高及页面宽高总结
window.onload=function(){ var a = $("#div").width(),//width()返回元素的宽高,不包括padding/border/margin b = $("#div").innerWidth(),//innerWidth()返回元素的宽高 + padding c = $("#div").outerWidth()...原创 2018-07-17 17:48:09 · 1705 阅读 · 0 评论