js语法基础
春风得意马蹄疾,一日看尽长安花。
这个作者很懒,什么都没留下…
展开
-
Object 方法(defineProperty)
const o = {}var bValue = 38;Object.defineProperty(o, "b", { get() { return bValue; }, set(newValue) { bValue = newValue; }, enumerable : true, configurable : true})console.log(o)setTimeout(() => {bValue = 1; console.log(o)},1000)> Objec原创 2021-05-13 14:35:17 · 93 阅读 · 0 评论 -
vue公共弹窗方法封装
Vue项目的公共弹窗项目也是很差了;不写个弹窗就啥都没有了~先创建一个vue文件;<template> <div :id="type==1?'alert_error':'alert_error2'" v-show='show'> <div ref="mask" class="mask" v-show="type===2"></div> <div class="title"><span @click原创 2021-04-16 17:29:33 · 801 阅读 · 0 评论 -
es6 语法Generator、Symbol、 Array.from、set、map
毕竟都用其他的代替了Generator函数function* fn(){ yield "hello"; yield "world"; return "haha";}var res = fn();//和普通函数的调用一样 console.log( res.next().value );//next()方法返回一个对象 对象中有一个value属性可以获取到值"hello"console.log( res.next().value );//next()方法返回一个对象 对象中有一个value属性原创 2021-04-15 14:10:46 · 103 阅读 · 0 评论 -
video视频快进拖动限制
简述通过使用流媒体形式分段加载视频,调取的是m3u8格式文件,再根据文件ts路径请求资源,然后转码播放;hls之m3u8、ts流格式详解 拖动本次使用的是video的官方事件来操作的seeking拖动的时候就会触发seek事件,毕竟拖动完了之后就会根据你托的位置去seek关键帧,然后定位播放时间;timeupdate视频实时更新的进度就在这个事件里面得到了体现;------------------------------------------------------------一级事件原创 2021-04-15 14:07:32 · 876 阅读 · 0 评论 -
vue页面刷新空白
vue项目做的是hash的不利于cdn缓存,cdn并不识别#--------------------------------------------------------------------原因不再阐述自己用nginx试了下子,直接copy代码;没毛病;server { listen 8888;#默认端口是80,如果端口没被占用可以不用修改 server_name localhost; root html/dist;原创 2021-04-15 14:06:48 · 410 阅读 · 0 评论 -
js实现多行溢出省略号
;一个文本溢出省略号的js方法,无论内容是什么strSub(v){ let str = v; let count = 0; var p = document.createElement("p"); //添加一个标签和要显示的标签的所有样式一样; p.style=`box-sizing: border-box; padding: 8px 1原创 2021-04-15 14:06:02 · 814 阅读 · 0 评论 -
SVG基础一
基本图形:圆形;cirle : 设计属性cx,cy圆中心坐标;r半径;fill填充色;stroke边框颜色;stroke-width边框宽度;<svg xmlns="http://www.w3.org/2000/svg"> <circle cx="40" cy="100" r="40" fill="green" stroke="black" stroke-width="20"></circle></svg>边框并不会撑大元素矩形;rect;原创 2021-04-15 14:05:25 · 149 阅读 · 0 评论 -
vue接口keyCodes、extend、nextTick、directive
keyCodes加在main中Vue.config.keyCodes = { ssss: 86, asd: [37,38,39], // camelCase 不可用 mediaPlayPause: 179, // 取而代之的是 kebab-case 且用双引号括起来 "media-play-pause": 179}//用法:唯有按键码的数字是不变的;名字随便起;<div @keyup.sss=fun ></div><div @keyup.me原创 2021-04-15 14:04:43 · 229 阅读 · 0 评论 -
vue接口Vue.use( plugin )/myMixin、computed、watch
Vue.use( plugin )通过全局方法 Vue.use() 使用插件。它需要在你调用 new Vue() 启动应用之前完成:// 调用 `MyPlugin.install(Vue)`Vue.use(MyPlugin)new Vue({ // ...组件选项})----------------------------const MyPlugin = {};MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或属性原创 2021-04-15 14:03:08 · 222 阅读 · 0 评论 -
字符串replace String.replace
function camelize(str) { return str.replace(/-(\w)/g, function(a,b,c,d) { console.log(a,b,c,d) //-b b 1 a-bcdef return b ? b.toUpperCase() : ''; }) } console.log(camelize('a-bcdef')) //aBcdef小括号的内容会被存储起来:通常我们将小原创 2021-04-15 14:02:02 · 124 阅读 · 0 评论 -
关于关闭页面之后的ajax提交问题
情况:1、事件中有足够的条件可以发送。微信安卓端: 借助事件unload;微信iso: 借助事件pagehide;事件中使用浏览器的接口:function sendAjax(){ window.navigator.sendBeacon(url,data);}window.addEventListener("unload/pagehide",function(){ sendAjax();});pc.或者移动端;借助 onbeforeunload; functionsendMe原创 2021-04-15 14:00:52 · 176 阅读 · 0 评论 -
js正则基础
demovar str = myInput.value;var reg = /xxxxxx/;(正则表达式)reg.test( str );检验;返回值为布尔表达式单字符表达式//空表达式var reg = /13266667777/;//包含13266667777 就可以 ^ 开始$ 结束var reg = /^123$/; //定义一个正则 要求用户只能输入 123;var reg=/0111$/; // 意味着11111111111110111 也是合法的var reg原创 2021-04-08 17:49:37 · 129 阅读 · 0 评论 -
window.postMessage两个相关页面可以跨域传输数据;
必须是相关页面子页面window.opener…等例子逻辑:opener页面打开一个新页面,新页面中调用postmessage传参给他的打开者;// opener//html部分;<a href="xxxxxx newpage" target="_blank">sddddddddd</a>//js部分;window.addEventListener("message", receiveMessage, false); function receiveMessa原创 2021-01-18 16:44:16 · 275 阅读 · 0 评论 -
[]==false隐式转换
一元操作符 +、-先来看看 + 或 - 在一个类型值前面,这里会执行 ToNumber 类型转换。如果是 - 在前面的话,还会将结果的符号取反,如:-“123” 的结果是 -123。并且如果原类型是对象的话也是遵循 ToNumber 的转换规则;var a = '123';var b = +a;console.log(b); // 123二元操作符相减 a - b当执行减法操作时,两个值都会先执行 ToNumber 转换,所以这个是比较简单的,当类型是对象时也是遵循同样的规则。var a原创 2020-12-01 13:42:03 · 634 阅读 · 0 评论