js
武东10号
developer for ninjia
展开
-
javascript---数组array方法reduce()
低调做人,高调做事—reducereduce是遍历操作数组的一个方法,可以很方便的达到数组各项参与的函数而返回结果,如数组求和、数组相乘、数组max等等,在面试的时候,也可以会提升一下逼格。方法说明:定义数组arr=[a,b,c,d],那么arr.reduce(fun)=fun(fun(fun(a,b),c),d);其中函数fun必须接受两个参数。使用示例:[x] 求数组的各项和var arr=原创 2017-03-23 13:23:20 · 909 阅读 · 0 评论 -
js---通过代码刷新当前页面,location.reload与location.replace方法,如何刷新页面并减少历史长度?
1,reload 方法,该方法强迫浏览器刷新当前页面。location.reload(force)如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。如...转载 2018-07-06 14:14:46 · 8712 阅读 · 0 评论 -
js---JavaScript中的浅拷贝与深拷贝
在 JS 中有一些基本类型像是Number、String、Boolean,而对象就是像这样的东西{ name: ‘Larry’, skill: ‘Node.js’ },对象跟基本类型最大的不同就在于他们的传值方式。基本类型是按值传递,像是这样:在修改a时并不会改到bvar a = 25;var b = a;b = 18;console.log(a);//25console.lo...转载 2018-07-06 14:01:17 · 319 阅读 · 0 评论 -
js---js中的继承方法call、bind、apply,以及三者之间的区别总结。
why?call,apply,bind干什么的?为什么要学这个?一般用来指定this的环境,在没有学之前,通常会有这些问题。var a = { user:"追梦子", fn:function(){ console.log(this.user); }}var b = a.fn;b(); //undefined我们是想打印对象a里面的user却打印出来und转载 2017-11-15 21:41:25 · 724 阅读 · 0 评论 -
js---js中数组遍历方法forEach与map()有什么区别?
JS原生forEach与map1 . 共同点//1.都是循环遍历数组中的每一项。//2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。//3.匿名函数中的this都是指Window。//4.只能遍历数组2 . forEach()//1 没有返回值arr.forEach((item,index,arra转载 2017-11-15 21:28:03 · 9267 阅读 · 0 评论 -
js---Date.parse()转化日期为时间戳,ios与Android兼容写法
把固定格式日期转化为时间戳://格式化当地日期new Date('2017-11-11 0:0:0')//结果为:Sat Nov 11 2017 00:00:00 GMT+0800 (中国标准时间)//日期转化为当地时间戳Date.parse(new Date('2017-11-11 0:0:0'))//结果为:1510329600000//当时在低版本ios系统下不能解析转化兼容写法:/原创 2017-11-15 20:59:56 · 7701 阅读 · 0 评论 -
js---JavaScript中的事件委托/事件代理,如何通过事件委托进行异步DOM事件监听
起因:1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的;2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考;概述:那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,转载 2017-10-12 23:12:13 · 636 阅读 · 1 评论 -
js---原生JS数组arr遍历方法forEach()和map()遍历的区别以及兼容写法
一、原生JS forEach()和map()遍历共同点:1.都是循环遍历数组中的每一项。2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。3.匿名函数中的this都是指Window。4.只能遍历数组。1.forEach() 没有返回值。arr[].forEach(function(value,转载 2017-10-12 23:00:50 · 2163 阅读 · 0 评论 -
js---js仿jQuery封装ajax
function ajax() { var ajaxData = { type: arguments[0].type || "POST", url: arguments[0].url || "", async: arguments[0].async || "true", data: arguments[0].data || nu原创 2017-08-14 21:34:46 · 412 阅读 · 0 评论 -
ES6---箭头函数与function定义函数有什么区别?在箭头函数中,this指向,构造函数,变量提升是如何表现的?
简洁///function定义函数function aaa(a,b){ return a+b;}///箭头函数定义函数var aaa=(a,b)=>{return a+b;}this指向function传统定义的函数,this指向随着调用环境的改变而改变,而箭头 函数中的指向则是固定不变,一直指向定义环境的。///function定义函数中的this指向function aaa原创 2017-07-20 20:27:30 · 8688 阅读 · 1 评论 -
js---如何通过js判断当前输入法是拼音还是英文输入法?
给input绑定keyup或者oninput事件的时候,中文输入法下想让整个汉字输完才触发事件,那么就需要判断输入方式是否是中文的了。 var isPinyin = false, isPinyin = false;$('#selectMatchInput').on('compositionstart', function () { isPinyin = true });//此时为拼音输入法$('#原创 2017-06-11 15:59:35 · 6577 阅读 · 0 评论 -
js---在前端开发中,如何通过正则表达式去除字符串string首尾的空格,JavaScript正则去除首尾空格
正则表达式写法,(^\s*) //表示从第一个位置开始匹配至少一个空格或控制符(\s*$) //表示从最后一个位置开始匹配至少一个空格或控制符(^\s*)|(\s*$) //前后匹配至少一个空格或控制符this.replace(/(^\s*)|(\s*$)/g, ""); //表示将匹配的空格或控制符替换成""为string增加方法// String 构造函数的原型对象的一个方原创 2017-06-17 19:14:51 · 3970 阅读 · 0 评论 -
jq---在jq中如何扩充jQuery对象,$.fn.extend与$.extend的区别是什么?
jQuery提供了2种方法扩充jq对象,工作中通常用于制作插件。 $.extend:<body> <input type="text" value="btn"> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script type="text/javascript">原创 2017-05-26 22:57:10 · 411 阅读 · 0 评论 -
js---如何通过js/jQuery代码出发节点的click事件
HTML部分<body> <div ></div></body>JS部分function abc(){console.log(1234)};document.querySelector('div').onclick=abc;//事件直接绑定于节点,效果一样document.querySelector('div').onclick();运行: 输出‘1234’原创 2017-05-21 23:11:22 · 507 阅读 · 0 评论 -
js---全面正则表达式语法,常用正则检查表达式手机号email地址url检查
定位符^ //字符串开始匹配紧跟其后的字符串,^abc 可以匹配‘abcd’,不匹配‘12abcd’。在[]中也表示非的意思$ //字符串结尾匹配前面字符串,abc$ 可以匹配‘12abc’,不匹配‘a1bc’\b //只匹配有字母的一边,另一边则不能为字母和数字。\bhi可以匹配‘hi’,',hi',‘\hi’,不匹配‘nhi’,‘1hi’; //hi\b可以匹配‘12hi原创 2017-05-25 23:44:22 · 596 阅读 · 0 评论 -
jq-$.extend方法使用说明
jQuery的方法extend在扩展数组、对象方面有了不起的作用。1. 数组extendarr2的长度小于arr1var arr1=[1,2,3];var arr2=[4,5,423,423];$.extend(arr1,arr2)//返回值为[4,5,3],同时改变arr1数组arr1拼接arr2的时候,在对应的索引位置,arr1的值替换为arr2对应索引值,上面代码可以等价于arr1[原创 2017-03-23 23:42:43 · 1477 阅读 · 0 评论 -
js打开新窗口并且不被拦截
js打开新窗口并且不被拦截window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,那么如何避免呢。注意,只有直接使用js调用 window.open(url); 打开新窗口时,才会被拦截,如果是改变原理额窗口:window.open(url,‘_self‘); 则不会...转载 2018-10-16 19:55:41 · 3864 阅读 · 1 评论