
JavaScript小笔记
WinterWang0207
github: wangwenqi0207
工作繁忙博客许久未更新 非常抱歉
展开
-
js Window对象
//此属性表示窗口是否以全屏显示。 Window.fullScreen //返回一个对 history 对象的引用。 Window.history //history.back(); // 等同于点击浏览器的回退按钮 //history.go(-1); //等同于history.back(); //获得浏览器窗口...原创 2020-03-28 19:12:47 · 496 阅读 · 0 评论 -
js String对象学习
//charAt() 方法从一个字符串中返回指定的字符。 let str = 'Winter Wang' console.log(str.charAt(1)) //i //includes() 方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。 let str2 = 'Winter Wang' conso...原创 2020-03-28 19:11:16 · 352 阅读 · 0 评论 -
js 语句
//try...catch语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。 //try如果出现以下情况,catch就抛出一个异常问题所在 try { nonExistentFunction(); } catch(error) { console.error(error);//RnonExistentFunction is not ...原创 2020-03-28 19:08:39 · 236 阅读 · 0 评论 -
js 数组方法
//定义一个数组 var fruits = ['香蕉', '芒果','橘子','荔枝','樱桃']; //添加元素到数组的末尾,改变原数组 var newLength = fruits.push('香橙'); //console.log(newLength) //6 //console.log(fruits) //["香蕉", "芒果", "橘子", ...原创 2020-03-28 19:01:11 · 454 阅读 · 0 评论 -
js函数及函数属性
箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。当只有一个参数时,圆括号是可选的:singleParam => { statements }没有参数的函数应该写成一对圆括号。()=>{statement...原创 2020-03-28 18:58:09 · 469 阅读 · 0 评论 -
js 找出字符串中连续出现最多的字符和个数
//首先写一个函数,传入一个字符串 function getMaxCharacters(str) { const map = {} //match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 var arr = str.match(/(\w)\1+/g) var max = arr[0].lengt...原创 2020-03-28 18:50:16 · 2438 阅读 · 0 评论 -
js this学习
this的指向是调用时决定的this永远指向最后调用它的那个对象var name = "windowsName"; function a() { var name = "Cherry"; console.log(this.name); // windowsName console.log(this); // Window...原创 2020-03-28 18:48:30 · 178 阅读 · 0 评论 -
js基础学习 表达式 解构赋值 展开语法 super关键字
表达式条件(三元)运算符是JavaScript仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?),如果条件为true,则问号后面的表达式A将会执行;表达式A后面跟着一个冒号(:),如果条件为false,则冒号后面的表达式B将会执行。isMember ? '$2.00' : '$10.00'解释为 如果条件isMember为真 执行$2.00 如...原创 2020-03-28 18:38:39 · 301 阅读 · 0 评论 -
异步笔试题
1//请写出输出内容async function async1() { console.log('async1 start'); ---2 await async2(); --遇到await跳出 console.log('async1 end'); ---6 async1 end}async function async2() { conso...原创 2019-12-18 13:54:49 · 343 阅读 · 0 评论 -
es6 数组方法
map 映射 一对一map()不会对空数组进行检测 map()不会改变原始数组参数说明:function(currentValue, index, arr):必须。为一个函数,数组中的每个元素都会执行这个函数。其中函数参数:currentValue:必须。当前元素的的值。 index:可选。当前元素的索引。 arr:可选。当前元素属于的数组对象。thisValu...原创 2019-11-29 10:30:54 · 151 阅读 · 0 评论 -
setTimeout、Promise、Async/Await 的区别
1. setTimeoutconsole.log('1 start') //1. 打印 script startsetTimeout(function(){ console.log('settimeout') // 4. 打印 settimeout}) // 2. 调用 setTimeout 函数,并定义其完成后执行的回调函数console.log('2 end') //3. ...原创 2019-11-15 11:29:52 · 1262 阅读 · 0 评论 -
找出字符串中连续出现最多的字符和个数
function getMaxCharacters(str) { const map = {} var arr = str.match(/(\w)\1+/g) var max = arr[0].length arr.map(v => max = Math.max(max, v.length)) cons...原创 2019-11-13 17:26:37 · 657 阅读 · 0 评论 -
求两个日期中间的日期
function rangeDay (day1, day2) { const result = [] const dayTimes = 24*60*60*1000 const startTime = day1.getTime() const range = day2.getTime() - startTime let total = 0 ...原创 2019-11-13 16:49:52 · 1527 阅读 · 0 评论 -
js 学习【三】
输出是什么?for (let i = 1; i < 5; i++) { if (i === 3) continue console.log(i)}A:12 B:123 C:124 D:134答案: C如果某个条件返回true,则continue语句跳过本次迭代。输出是什么?const foo = () => cons...原创 2019-10-17 14:06:41 · 867 阅读 · 0 评论 -
JS判断 字符串变量 是否含有某个字串的方法
//方法一var str = "abc";if (str.indexOf("bc") != -1) {}//方法二var str = "abc";if (str.search("bc") != -1) {}//方法三var str = "abc";var reg = new RegExp("^.*bc.*$");if (reg.test(str)) {}//方法四...转载 2019-05-15 15:10:24 · 963 阅读 · 0 评论 -
点击按钮复制文字
效果:代码:<template> <!-- 复制链接 --><div class="link-popup"> <div class="link-popup-con"> <div class="linkpopup-title">分享链接</div> ...转载 2019-05-30 17:07:44 · 1164 阅读 · 0 评论 -
js基础知识 数组扁平
数组扁平就是将多维数组转化为一维数组方法一 :只用于数组元素都是数值时 const arr = [1, 3, [1, 4], [2, [5, 65, [8, 9]]]]; const flattenArr = arr.toString().split(','); //console.log(flattenArr) // ["1", "3", "1", "4", "2", "5", "...转载 2019-06-05 09:59:17 · 133 阅读 · 0 评论 -
js 打印今天星期几
//显示今天星期几 function dayFormat (date) { switch (new Date(date).getDay()) { case 0: return '星期日' case 1: return '星期一' ...原创 2019-06-05 14:06:56 · 428 阅读 · 0 评论 -
js 基础知识 数组最值
方法一://方法一 const arr = [5, 3, 6, 2, 9, 0, -1, 3, -5, 7]; const max = Math.max.apply(null, arr); //9 const min = Math.min.apply(null, arr); //-5 console.log(max)...原创 2019-06-05 09:42:18 · 187 阅读 · 0 评论 -
极简原生双向绑定
本双向绑定仅在说明利用defineProperty的get和set方法对数据进行拦截,实现双向绑定<template> <div class="hello"> <h1>极简双向绑定</h1> <input type="text" id="txt_dom"> <p id="p_dom">&l...转载 2019-07-20 18:59:56 · 128 阅读 · 0 评论 -
es6 解构赋值 扩展运算符 字符串模板 等
解构赋值<template> <div> <h1>解构赋值</h1> </div></template><script> export default { name: "demo4", mounted(){ ...原创 2019-08-04 14:22:38 · 257 阅读 · 0 评论 -
《重学前端》 js 关于类型
7 种语言类型是:1. Undefined;2. Null;3. Boolean;4. String;5. Number;6. Symbol;7. Object。undefined和null因为 JavaScript 的代码 undefined 是一个变量,而并非是一个关键字,这是JavaScript 语言公认的设计失误之一,所以,我们为了避免无意中被篡改,我建议使用v...原创 2019-09-29 10:21:22 · 156 阅读 · 0 评论 -
js 学习 【一】
数组求和let arr = [1, 2, 3, 4, 5]let arr2 = eval(arr.join('+'))console.log(arr2) //15数组完全展开function myFlat(arr) { while (arr.some(t => Array.isArray(t))) { arr = ([]).concat.apply([],...原创 2019-10-09 17:54:54 · 402 阅读 · 0 评论 -
js 学习 【二】
输出是什么?let c = { greeting: 'Hey!' }let dd = cc.greeting = 'Hello'console.log(d.greeting)//A: Hello在 JavaScript 中,当设置两个对象彼此相等时,它们会通过引用进行交互。首先,变量c的值是一个对象。接下来,我们给d分配了一个和c对象相同的引用。...原创 2019-10-09 18:01:55 · 478 阅读 · 0 评论 -
js 运行机制 Event loop
众所周知 JS 是门非阻塞单线程语言,因为在最初 JS 就是为了和浏览器交互而诞生的。如果 JS 是门多线程的语言话,我们在多个线程中处理 DOM 就可能会发生问题(一个线程中新加节点,另一个线程中删除节点),当然可以引入读写锁解决这个问题。JS 在执行的过程中会产生执行环境,这些执行环境会被顺序的加入到执行栈中。如果遇到异步的代码,会被挂起并加入到 Task(有多种 task) 队列中。一旦...原创 2019-10-10 10:06:24 · 121 阅读 · 0 评论 -
JS setTimeout函数 异步执行和单线程
JS是单线程,setTimeout(还有setInterval,ajax)并没有实现多线程JavaScript引擎是单线程运行的,浏览器无论在什么时候都只且只有一个线程在运行JavaScript程序。但是浏览器的内核是多线程的,它们在内核控制下相互配合以保持同步,一个浏览器至少实现三个常驻线程:JavaScript引擎线程,GUI渲染线程,浏览器事件触发线程。有时会开启的线程:http传输线程...转载 2019-05-15 14:58:55 · 1224 阅读 · 1 评论