![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 72
qiqi_77_
git地址:https://github.com/seven77Zhou
展开
-
js实例拷贝和属性搜索机制
实例拷贝原理每当对构造函数实例化的时候,该实例都会将构造函数的属性重新拷贝一份(包括隐藏属性,但私有的不会被拷贝);什么是私有的:var fun = function(){ this.name = '小明'; var age = 18;//在实例化的时候,age将不会被拷贝}fun.prototype = { getFullName:function(name){ ret原创 2018-01-12 18:34:30 · 763 阅读 · 0 评论 -
require
原文写的很详细,推荐:https://www.jianshu.com/p/b8a6824c8e07http://www.ruanyifeng.com/blog/2012/11/require_js.html前端模块化,AMD与CMD的区别<script src="1.js"></script><script src="2.js"></script>...转载 2018-03-26 18:30:06 · 308 阅读 · 0 评论 -
正则表达式简单练习题整理
正则篇:1.验证字符串的组成规则,第一个须为数字,后面可以是字母、数字、下划线,总长度为5-20位/^\d{1}[\w|_|\d]{4,19}$/2.让2013-6-7 变成 2013.6.7var str = '2013-06-07'str.replace(/-/g,'.') 或者 let regExp = /-/g; str.replace(regExp, '.')3.请使用正则取出:Tec...原创 2018-03-30 19:12:49 · 9040 阅读 · 2 评论 -
可枚举属性与不可枚举属性
转载自:https://www.cnblogs.com/kongxy/p/4618173.html 在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。一、怎么判断属性是否可枚举 js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的...转载 2018-03-14 16:40:48 · 4035 阅读 · 0 评论 -
[]==![]结果为true,探究 == 本质
关于==与===的区别相信大家都很清楚啦,这理解不再赘述,今天我们来看下[]==![]的结果。这是楼主碰到过得一个面试题,恩,华丽丽的答错了:[]==[] //false,这个是常识,因为在两边都是相同数据类型时,==是直接比较两边数据,结果为false,因为[]属于引用类型,在两个[]分别指向不同的堆内存,不熟悉的引用类型的小伙伴请参考楼主文章:值类型引用类型;而当前这题:[]==![]//tr...原创 2018-03-06 14:03:18 · 14755 阅读 · 3 评论 -
关于null 和 undefined
var a = null;var b=null;var c = undefined;var d = undefined;typeof a ; //objecttypeof c ; //undefineda==b ; //truea===b ; //truea==c ; //truea===c; //falsec==d ; //truec===d;//trueundefined和null与其他类型的...原创 2018-03-02 12:42:40 · 276 阅读 · 0 评论 -
求数组最大值汇总
1. 最原始,for循环var arr=[1,4,6,2,8];var max = arr[0];for(var i in arr){ arr[i]>max? max=arr[i]:''}console.log(max)//82. sort先排序,从小到大,pop删除数组最后一个元素,并返回该元素arr.sort().pop() //83. Math.max配合apply来使用Ma...原创 2018-03-15 18:36:16 · 325 阅读 · 0 评论 -
Object create()与 new
“Object.create() 方法会使用指定的原型对象及其属性去创建一个新的对象。返回值:在指定原型对象上添加新属性后的对象。”-------摘自MDN通俗一点就是一个新的对象,可以继承一个对象的属性,并且可以添加新属性,小栗子:var a = { name : '小七哥'}var b = Object.create( a, { age : { valu...原创 2018-02-28 19:36:41 · 542 阅读 · 0 评论 -
值类型和引用类型,深层复制和浅层复制(深拷贝浅拷贝)最详细了
要知道深层复制浅层复制的区别,首先要了解值类型和引用类型。变量分值类型和引用类型,深层复制和浅层复制都是针对引用类型变量的操作。值类型: 比如数值,字符串,布尔,undifined引用类型 : 比如数组,对象,函数来张图(手抖,有点丑):var num = 77;var id = 1234;var cat = {name : '喵喵',age : 3 };结合上面图,内存分两块区域,栈和堆。值类型...原创 2018-02-28 17:23:53 · 6154 阅读 · 3 评论 -
删除数组元素,并返回删除后的数组
关于删除数组元素,最熟悉不过:shift-----删除数组第一个元素,并返回该元素,原数组被改变;pop-----删除数组最后一个元素,并返回该元素,原数组被改变;更强大一些的slice(start,end),它主要是截取的意思:slice-----删除数组从start下标开始到(end-1)下标结束的元素,并返回被删除的元素,原数组不会改变;那我想要删除数组'a'元素,并返回删除后的数组['b'...原创 2018-02-28 11:56:13 · 54517 阅读 · 5 评论 -
判断数据类型,判断是否空对象,js判断是不是数组
typeof首先看一下大家熟知的typeof :typeof 77 --------------"number"typeof 'str77' --------------"string"typeof ['a','b']--------------"object"typeof function a(){var m=0}-------"function"typeof null ------------...原创 2018-02-07 16:44:58 · 1901 阅读 · 0 评论 -
变量名、函数名、形参相同的情况
1. 变量和函数重名时,如果变量声明未赋值,则变量名被忽略,取函数(function (a) { console.log(a); var a = 10; function a(){}}( 100 ))结果:function a(){}2.(function (a) { console.log(a); var a = 10; var a = fun...原创 2018-02-26 19:08:08 · 3518 阅读 · 0 评论 -
变量作用域和闭包
全局变量VS局部变量全局变量的作用域是全局性的,即在整个JavaScript程序中,全局变量处处都在。而在函数内部声明的变量,只在函数内部起作用。这些变量是局部变量,作用域是局部性的;函数的参数也是局部性的,只在函数内部起作用。变量声明时如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义。如下图所示:在函数a( )执行后,全局可以访问aa变量,而不可以访问bb变量。ps:在函数...原创 2018-02-06 20:02:36 · 332 阅读 · 0 评论 -
移动端穿透问题解决
转载自:https://segmentfault.com/a/1190000005617307问题 不多描述,就是fixed弹出层,弹窗滚动条move的时候,弹窗下面的内容也可以滚动。js 之 touchmove + preventDefaultmodal.addEventListener('touchmove', function(e) { e.preventDefault();}, fa...转载 2018-04-11 17:30:53 · 685 阅读 · 0 评论