
JavaScript笔记
帅癌病患者
这个作者很懒,什么都没留下…
展开
-
JavaScript迭代器
迭代器的实现首先定义iterator对象function createIterator(items) { var i = 0; return { next: function () { var done = i >= items.length; var value = !done ? items[i++] : undefined; return { done:原创 2022-04-10 09:52:03 · 1105 阅读 · 0 评论 -
webpack利用url-loader打包图片
rules: [ { test: /\.(jpg|png|gif)$/, use: { loader: 'url-loader', options:{ name:'[name].[ext]', outputPath:'images/',原创 2021-10-28 18:54:55 · 388 阅读 · 0 评论 -
webpack的正确安装方式
webpack在项目中安装,就不用纠结于npm安装的默认地址。进入项目目录直接用yarn add webpack webpack-cli -D项目中直接安装webpack不能直接用webpack查看需要利用node提供的npx webpack -v查看项目node-modules中就能直接看见webpack的一堆文件了...原创 2021-10-27 19:42:24 · 207 阅读 · 0 评论 -
根据对象数组中的属性进行分类
之前之后主要就是根据对象数组中的属性值,对数组进行分类,并且将相同属性值只保留一个。主要方法是根据 这位博主的代码由于该博主没有进行注解,我对它进行了注释。 const groupBy = (array, f) => { let groups = {}; array.forEach(function (o) { var group = JSON.stringify(f(o)); groups[group]原创 2021-09-25 17:22:07 · 1191 阅读 · 0 评论 -
JS 方法和函数中this的指向
let Lesson = { site:'123', lists:[1,2,3], show:function(){ const This = this; console.log(this) return this.lists.map(function(value){ }) }原创 2021-04-16 17:11:28 · 262 阅读 · 0 评论 -
可选链操作符
function main(config){ const dbHost = config&&config.db&&config.db.host console.log(dbHost) } main({ db:{ host:'192.168.1.100', username:'root'原创 2021-04-15 21:11:37 · 284 阅读 · 0 评论 -
Async 、Await
Async1.Async函数的返回值为Promise对象2.Promise的结果由Async函数执行的返回值决定Await1.必须写在Async函数中2.Await后面的表达式一般为Promise对象3.Await返回的是Promise成功的值4.Await的Promise 失败了的话,需要通过try…catch捕获//先生成一个Promise。const p = new Promise((resolve,reject)=>{ resolve('成功的值')原创 2021-04-15 17:10:36 · 252 阅读 · 0 评论 -
ES6 Map函数
Map函数 类似一个升级版的对象,对象名字可以是一个对象。 let m = new Map() m.set('name','123') m.set('change',function(){ console.log('32323') }) let key ={ ab:'456' } m.set(key,['北京','伤害']) console.log原创 2021-04-15 16:18:01 · 526 阅读 · 0 评论 -
ES6 class静态属性
class Phone{ name = '手机' change(){ console.log('123') } } const p = new Phone() console.log(p.name)在不加static之前,p能获取刀Phone的属性, class Phone{ static name = '手机' ch原创 2021-04-15 13:33:48 · 170 阅读 · 0 评论 -
简单的 React Router 例子
文件目录index.js(主)固定格式import React from 'react'import ReactDOM from 'react-dom'import AppRouter from './AppRouter'ReactDOM.render(<AppRouter />,document.getElementById('root'))AppRouterimport React from 'react'import{BrowserRouter as Route..原创 2021-03-27 15:28:20 · 252 阅读 · 0 评论 -
枯燥的Redux 完成todolist
文件目录Index.jsimport React from 'react';import ReactDOM from 'react-dom';import Todolist from './Todolist'//以上都是固定格式import {Provider} from 'react-redux'//被provider包裹的都可以获得store里面的值import store from './store'const App = (//提供器,包裹所有需要的组件 <Prov原创 2021-03-27 10:51:24 · 144 阅读 · 0 评论 -
利用reduce实现文字LOGO效果
<style> *{padding: 0;margin: 0;} body{ width: 100vw;//vw,vh会适配显示空间的大小,会跟随页面的增减而改变。 height: 100vh; display: flex; justify-content: center; align-items: center; background-color: #34495e; }原创 2021-03-18 15:02:17 · 94 阅读 · 0 评论 -
枯燥的js 数组
字符串转换为数组let str = "asdasdas"; console.log(str.split("")); console.log(Array.from(str));Array.from <div>hdcms</div> <div>houdsd</div> <script> let div = document.querySelectorAll('div'); co原创 2021-03-13 14:07:51 · 224 阅读 · 0 评论 -
枯燥的js 时间戳
转换时间戳const date = new Date("1997-7-12 08:22:12"); console.log(date); console.log(date*1); console.log(Number(date)); console.log(date.valueOf()); console.log(date.getTime());时间戳转换为时间const date = new Date(); co原创 2021-03-11 17:18:45 · 78 阅读 · 0 评论 -
枯燥的js Number
控制小数位数var temp =2.23123;console.log(temp.toFixed(2));满足四舍五入。字符串里面提取小数 let hd = "2323.223sdsd"; console.log(parseFloat(hd));let hd = "cmd2323.223sdsd"; console.log(parseFloat(hd));但当字符串最开始是以字符,就没法识别。数组转换为数字数组仅对数组只有一个元素成立,多个元素不知道取用那个。原创 2021-03-11 16:51:19 · 82 阅读 · 0 评论 -
枯燥的js Boolean
const boolean = new Boolean(false); console.log(typeof boolean); console.log(boolean.valueOf());注意boolean是一个对象console.log(Boolean([]));//空数组的布尔值为真 var array = []; console.log(Number(array)); console.log(array==fals原创 2021-03-11 15:42:04 · 67 阅读 · 0 评论 -
常用的标签模板
<script> let lessons = [ {title:"123",author:"321"}, {title:"zxc",author:"cxz"}, {title:"qwer",author:"rewq"} ] function template(){ return `<ul> ${lessons原创 2021-03-10 21:39:29 · 167 阅读 · 0 评论 -
枯燥的js 电话号码模糊处理
<script> function phone(mobile,len){ return String(mobile).slice(0,len*-1)+"*".repeat(len); } console.log(phone(12312312312,5)); </script>先把电话号码转换为字符串,再利用slice原创 2021-03-10 21:24:01 · 343 阅读 · 0 评论 -
枯燥的js 字符串函数
<script> let name = "zyqqwe" console.log(name.length); console.log(name.toUpperCase()); console.log(name.toLowerCase()); let site = " 23123 "; console.log(site.length); console.log(site.trim().length)原创 2021-03-10 21:15:37 · 91 阅读 · 0 评论 -
枯燥的js 字面量嵌套
function show(){ return '23123'; } let hd = `www.${show()}`; console.log(hd);<script> let lessons = [ {title:"123"}, {title:"234"}, {title:"456"} ]; /.原创 2021-03-10 10:36:03 · 96 阅读 · 0 评论 -
枯燥的js for of 小应用
<style> ul{ list-style: none; } li{ border: solid 1px #ddd; height: 50px; width: 200px; } </style> <ul> <li></li> <li&g原创 2021-03-09 21:10:05 · 78 阅读 · 0 评论 -
枯燥的js object 冻结变量
const HOST = { url:"23123122", port:443 }; Object.freeze(HOST); HOST.port = 69; console.log(HOST);原创 2021-03-09 11:04:37 · 145 阅读 · 0 评论 -
var 与let 的区别
<script> function test(){ for(var i =0 ;i<5;i++){ // let console.log(i); } console.log(i); } test(); </script>i是在for循环里面定义的一个局部变量,按理来说并不会出现第6个值这就是var原创 2021-03-09 10:34:04 · 101 阅读 · 0 评论 -
枯燥的js php
请求PHPGET<button id="button">获取PHP数据</button> <br><br> <h1>正常表单提取数据到PHP</h1> <form action="https://api.vvhan.com/api/saorao?tel=1365655656" method="GET"> <input type="text" n原创 2021-03-07 14:05:39 · 128 阅读 · 0 评论 -
枯燥的ajax纯文本
请求纯文本数据<h2>AJAX</h2> <button type="button" onclick="loadXMLDoc()">请求数据</button> <div id="myDiv"></div> <script> document.getElementsByTagName("button")[0]; function原创 2021-03-07 13:43:57 · 116 阅读 · 0 评论 -
枯燥的js GitHub
请求GITHUB<style> .user{ display: flex; background-color: #f4f4f4; padding: 10px; margin-bottom: 10px; } .user ul{ list-style: none;原创 2021-03-07 13:43:38 · 117 阅读 · 0 评论 -
枯燥的ajax json
请求json数据单个json接口<button id="button1">请求单个用户</button> <button id="button2">请求所有用户</button> <br><br> <h1>单个用户</h1> <div id="user"></div> <h1>所有用户<原创 2021-03-07 13:43:03 · 156 阅读 · 0 评论 -
枯燥的js 正则表达式问题
选出多个相同字符 var reg = /(\w)\1\1\1/g;//把前面的值抛给后面,\1表示引用第一个值。 var str = "aaaa"; var reg = /(\w)\1(\w)\2/g;//\2表示引用第二个值。 var str = "aabb";倒序简单版 var reg = /(\w)\1(\w)\2/g;//\2表示引用第二个值。 var str = "aabb";原创 2021-03-06 15:12:34 · 119 阅读 · 0 评论 -
枯燥的js正则表达式基础
转义符号 \字符串里面输出",'问题<script> var str = "abc\"sds" console.log(str); </script>\n换行符\t =tab键多行字符串var test = "\ <span></span>\ <div></div>\ "RegEx原创 2021-03-06 15:12:25 · 128 阅读 · 0 评论 -
枯燥的js数组
定义var arr = [1,2,3,4];//第一种var arr = new Array(10);//只传一个参数代表参数个长度。var arr = new Array(1,2,3);//与第一种无异方法可改变原数组push:arr.push()//往数组最后一位添加数据arr.push(1,2,3,4)依次添加。Array.prototype.pushpop:弹出最后一位,不用传参。arr.pop()shift:arr.shift():在最前面 减去一个unshift:arr原创 2021-03-05 13:52:46 · 135 阅读 · 0 评论 -
枯燥的异步加载js
defer只有IE能用,等到dom文档全部解析完才会被执行。<script type="text/javascript" src="xxxx.js" defer="defer"></script>async与defer无异,但加载完立刻执行。<script type="text/javascript" src="xxxx.js" async="async"></script><script> function load原创 2021-03-02 21:45:32 · 98 阅读 · 0 评论 -
枯燥的json
网络传输的格式var obj = { name:"abc", age:123 } var str = JSON.stringify(obj)JSON.stringfy json->string属性名加双引号JSON.parse string ->json原创 2021-03-02 21:04:26 · 99 阅读 · 0 评论 -
枯燥的js事件2
鼠标事件click()、mousedown()、mousemove()、mouseup()、contextmenu()、mouseover()、mouseout()、mouseenter()、mouseleave()用button来区分原创 2021-03-02 17:38:35 · 88 阅读 · 0 评论 -
枯燥的js事件
绑定事件ele.onclick(事件类型) = function(){}但只能绑定一个函数基本等于写在html行间上<div style="width: 100px; height: 100px; background-color: red;"></div><script> var div = document.getElementsByTagName('div')[0]; div.onclick = function(){ c原创 2021-02-26 17:12:53 · 109 阅读 · 0 评论 -
枯燥的脚本化css
读写元素css属性dom.style.prop修改的是行间样式。可读写行间样式,没有兼容性问题,碰到float这样的保留字属性,前面应该加css。background-color->backgroundColor像border有很多属性:(建议拆解,组合单词变成小驼峰写法)div.style.borderWidthdiv.style.borderStyle写入值必须是字符串脚本化CSS查询计算样式window.getComputedStyle(ele,null);计算样式只读原创 2021-02-25 21:01:40 · 102 阅读 · 0 评论 -
枯燥的js date对象与定时器
日期对象,是系统提供好的date字典:https://www.w3school.com.cn/jsref/jsref_obj_date.aspdate对象并不是实时的,当第一次调用的时候就已经定格了定时器setInterval每隔一段时间,进行一次函数。<script> setInterval(function(){ console.log('a'); },1000)//数字多少就是多少****毫秒****。 </scr原创 2021-02-23 19:37:43 · 85 阅读 · 0 评论 -
枯燥的js基本操作
增document.createElement();//创建标签!!最常用的document.createTextNode();//文本节点document.createComment();//注释节点document.createDocumentFragment();*插PARENTNODE.appendChild();(约等于push) <div> </div> <script> var div = document.原创 2021-02-22 22:24:57 · 135 阅读 · 0 评论 -
枯燥的js DOM选择器与节点
document代表整个文档ID极少使用document.getElementById()//元素id在ie8以下的浏览器,不区分id大小写getElementsByTagName()//标签名(div,li等)getElementsByName()//需注意,只有部分标签name可生效(表单form,表单元素input等,img,iframe)getElementsByClassName()//类名->ie8和ie8以下的ie版本没有,分割线---------------------原创 2021-02-22 15:38:29 · 169 阅读 · 0 评论 -
枯燥的js try...catch与es5
try{ console.log('a'); console.log(b); console.log('c');}catch(e){ //这个部分赋值捕捉到错误信息 console.log(e.name+" : "+e.message);}console.log('d');try里面会自动忽略错误执行。结果为a c d。Error.name的六种值对应的信息:1.EvalError:eval的使用与定义不一致2.RangeError:数值越界3.ReferenceError:非法原创 2021-02-19 20:12:28 · 148 阅读 · 1 评论 -
枯燥的js深度克隆
var obj={ a:function(){}, b:123, card:['sdsd','sdasd']}var obj1={}; function deepClone(origin,target){ var target = target || {}, toStr = Object.prototype.toString,//用于后面精确判断数组和对象 arrStr = "[object Array]";原创 2021-02-18 21:29:56 · 76 阅读 · 0 评论