![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
若茶先森
纷纷万事,直道而行
展开
-
js中发布订阅模式示例
发布订阅模式function Dep() { this.subs = []}Dep.prototype.addsub = function (sub) { this.subs.push(sub)}Dep.prototype.notify = function () { this.subs.forEach(sub => sub.update())}function Watcher(fn) { this.fn = fn}Watcher.prototype.updat原创 2020-06-22 17:32:35 · 240 阅读 · 0 评论 -
js中对象引用,浅拷贝,深拷贝--示例
1. 对象引用var a = {name:'wanger'}var b = a ;a===b // trueb.name = 'zhangsan'a.name //'zhangan'2 .浅拷贝var a = {name:'wanger'}var b = Object.assign({}, a)a===b // falseb.name = 'zhangsan'a.n...原创 2018-09-05 11:16:10 · 219 阅读 · 0 评论 -
webpack详解教程-参考(分享)
https://www.cnblogs.com/ye-hcj/p/7095401.html原创 2018-09-06 14:26:31 · 143 阅读 · 0 评论 -
Javascript toString()、toLocaleString()、valueOf()三个方法的区别(转载)
一、JS Array 例子: 1 2 3 4 vararray =newArray("niu","li","na"); console.log(array.valueOf()); console.log(array.toString()); console.log(array.toLocaleString(...原创 2019-08-19 00:11:21 · 112 阅读 · 0 评论 -
h5获取浏览器的相机和摄像头权限
检查浏览器是否支持getUserMedia方法:navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || ...转载 2019-07-30 17:05:35 · 13324 阅读 · 2 评论 -
js常用的几种简单的加密方式
1,escape()和unescape(),js自带的方法进行编码和解码字符串 var a=escape("你好");//编码 var unescape1 = unescape(a);// 解码 2.md5加密--但是此加密是不可逆的--如果进行对比都进行 加密对比用的时候需要引入md5.js var code = md5("你好"); 加密3..base64加密...原创 2019-08-13 17:32:17 · 15689 阅读 · 0 评论 -
js加载的方式
今天遇见问题,但是项目中总是报文件underfind,哎, 惭愧,后来才反应过来,原来是js文件动态cdn加载的异步执行的原因因此,根据网上各种资源和自己的理解,整理一下,自己参考一:同步加载我们平时使用的最多的一种方式。<script src="http://yourdomain.com/script.js"></script><script s...转载 2019-08-15 13:59:29 · 363 阅读 · 0 评论 -
js中数组的方法总结
js中数组的方法有很多,但是一直记不住,今天有空就总结一下,也仅供大家参考1.Array中不会改变原数组的方法concat()---连接两个或更多的数组,并返回结果。every()---检测数组元素的每个元素是否都符合条件。 返回的是布尔值some()---检测数组元素中是否有元素符合指定条件。返回的是布尔值filter()---检测数组元素,并返回符合条件所有元素的数组。...原创 2019-08-21 23:42:43 · 105 阅读 · 0 评论 -
es5的严格模式use strict
1.变量必须用var声明2.禁止this指向window3.对象不能有重名的属性4.禁止删除变量5.创建eval作用域原创 2018-05-22 09:35:21 · 277 阅读 · 0 评论 -
es6 的基本语法
箭头函数--解决this的指向问题扩展运算符--解决赋值繁琐let声明 1.用于声明变量,类似于var,但是,它只在let所在的代码块内部有效。 2 .不存在变量提升 3.不能重复声明const 1.定义一个常量解构赋值set容器--解决数组去重的一个好的方法 map 容器--值是key,value对对象的深拷贝---Object.assign()直接操作-对象的隐士原型属...原创 2018-05-22 09:59:17 · 408 阅读 · 0 评论 -
js创建对象的几种方式-转载
1、工厂模式弊端:没有解决对象的识别问题,即怎么知道一个对象的类型。 2、构造函数模式 与工厂模式相比: 1、没有显式的创建对象 2、直接将属性和方法赋给了this对象 3、没有return语句 要创建person的实例,必须使用new操作符,以这种方式调用构造函数实际上会经历4个步骤: 1、创建一个新对象 2、将构造函数的作用域赋给新对象 3、执行构造函数中的代码 4、返回新对象 创建自定义的构...转载 2018-05-22 10:18:17 · 9273 阅读 · 0 评论 -
Js模块化规范理解
详见 阮一峰 博客链接点击打开链接原创 2018-06-12 10:52:58 · 388 阅读 · 0 评论 -
彻底搞清楚javascript中的require、import和export---(转载)
彻底搞清楚javascript中的require、import和export为什么有模块概念理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,Javascript不是一种模块化编程语言,在es6以前,它是不支持”类”(class),所以也就没有”模块”(module)了。require时代Javascript社区做了很多努力,在现有的运行环境中,实现”模块”的效果...转载 2018-05-30 00:02:14 · 213 阅读 · 0 评论 -
ES6 Promise 用法讲解(转载)
Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。那就new一个var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); ...转载 2018-05-30 00:37:09 · 117 阅读 · 0 评论 -
es基本的使用总结
现在基本去任何一家公司去面试的话,es6应该是一定会问到的。一直在使用但是还需要更多的学习,一直没时间总结一下,现在希望归纳一下一些基本的要点(参考一些资料及别人的文章),仅供自己参考使用吧1.let关键字 和var类似都是用于声明变量 但还是有一定的区别 特点 :在快作用域内有效。不能重复声明。不会预处理,不存在变量提升。2.const关键字:定义一个固定 的不改变的常量使用,保证数...原创 2018-06-13 00:19:48 · 1008 阅读 · 0 评论 -
js验证6-16位数字或者字母
^[0-9a-zA-Z]{6,16}$function isNumberOr_Letter(s){var regu = "^[0-9a-zA-Z]{6,12}$"; var re = new RegExp(regu); if (re.test(s)) { return true; }else{ return false; }}原创 2018-05-31 14:59:27 · 2830 阅读 · 0 评论 -
js中string和tostring的区别
1、.toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined代码示例: var a = null.toString()--报错 var b = underfind.toString()--报错 .toString() 括号中的可以写一个数字,代表进制,对应进制字符串二进制:.toString(2); 八进制:.toString(8);十进制:...原创 2018-06-07 15:35:50 · 2290 阅读 · 0 评论 -
时间格式化代码(示例)
/** * Created by jiachenpan on 16/11/18. */export function parseTime(time, cFormat) { if (arguments.length === 0) { return null } const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' let date i...原创 2018-06-15 11:43:56 · 2703 阅读 · 0 评论 -
js中的window
BOM就是浏览器窗口对象模型,顶级对象就是window window,document都是一个实例对象,他们都属于Object,你不可以在new他,必须直接调用他的方法和属性 Window对象共有七个属性: defauleStatus:指定窗口状态栏中的信息。 status:指定当前窗口状态栏中的信息。 frames:是一个数组,其中内容是窗口中所有的框架。 parent:指当前窗转载 2017-02-28 17:47:18 · 1030 阅读 · 0 评论