js
努力_才幸福
前端小菜鸟一枚,正在努力的重生
展开
-
js中6个值为'假'
1.false(布尔型);2.null(用于定义空的或者不存在的引用);3.undefined(未定义值);4.0(数值型);5.空字符串‘’(字符串型);6.NaN除了这 6 个外,其它均为“真” ,包括对象、数组、正则、函数等。注意'0'、'null'、'false'、{}、[]也都是真值 。这6个为假的值,之间并非相等对于‘==’,得出结论:false...原创 2019-09-19 14:41:00 · 913 阅读 · 0 评论 -
if中使用return
如果在if-else或者if-else-if中使用return,那么必须在将这些条件语句放在函数中,否则会报错。同for循环中使用return一样,使用了return后,将返回到函数外边。...原创 2018-11-23 17:44:46 · 14135 阅读 · 1 评论 -
js中subString()方法,可用来截取指定字符串后面的所有字符
substring(start,stop) 方法用于提取字符串中介于两个指定下标之间的字符。注:1)substring()返回的子串包括start处的字符,但不包括stop处的字符, 2)start为必选参数,stop为可选参数 3)当stop和start相等时,返回为空,如果start>stop,则改方法会在提取子串之前先交换这两个参数 用来截取...转载 2018-11-13 18:29:14 · 15020 阅读 · 0 评论 -
原生的ajax中post的方式传递参数
1.post方法中,参数放在send()方法中,作为参数传递2.需要设置请求头,用来指明编码方式,和发送的数据类型3.post方式不会出现中文乱码和浏览器缓存的问题...转载 2018-11-13 17:59:44 · 2904 阅读 · 0 评论 -
获取radio单选按钮的值,以及设置单选按钮 被选中
获取radio单选按钮的值:$("input[name='items']:checked").val(); 设置单选按钮 被选中:$("input[name='items'][value="+后台传过来的值+"]").attr("checked","checked" ); 或:$("input[type=radio]&q转载 2018-11-13 17:43:23 · 2920 阅读 · 0 评论 -
js中attr()和prop()的区别
1.所有的DOM对象都有一个attribute属性,而prop可以操作属性,所以也可以操作属性节点2.官方推荐:在操作属性节点时,具有true和false两个属性的属性节点,如checked,selected或者disabled使用prop(),其他使用attr()因为,如果具有true和false两个属性的属性节点,如果没有编写默认attr返回undefined,而prop返回false...原创 2018-06-15 16:02:32 · 292 阅读 · 0 评论 -
正则验证时test()方法
test() 方法用于检测一个字符串是否匹配某个模式.规则.test(str);返回值:如果字符串中含有与所写正则匹配的文本,则返回true,否则返回false。转载 2018-11-13 17:17:25 · 6257 阅读 · 0 评论 -
split()方法:取出特定字符前后的字符串
split():用于把一个字符串分割成字符串数组。注:1)String.split()与Array.join()的操作是相反的。 2)有两个参数,第二个参数是可选的,即可指定返回的数组的最大长度。<script type="text/javascript"> var sTemplateBrother1="[1:24323F],[101:682C2B],...转载 2018-11-13 17:11:41 · 20354 阅读 · 0 评论 -
下拉框select中指定option时触发的选中事件,以及已知选中的值,将它显示在下拉框中
在下拉框选中option时,实际上option本身并没有触发事件方法,而是在select的onchange中触发。现有一个id=test的下拉框 js原生方法:1)拿到select对象:var myselect=document.getElementById("test");2)拿到选中项的索引:var index=myselect.selectedIndex ; ...转载 2018-11-13 13:44:08 · 4425 阅读 · 0 评论 -
js将一个值转换为字符串
1.value.toString(),:缺点:不要本办法把null和undefind转换为字符串,注:number对象的toString()方法有一个可选的参数,该参数用来指定转换的技术,如果不指定该参数,参数会以10为基数进行转换。var n = 17;binary_string = n.toString(2); // Evaluates to "10001"2.""+value:...转载 2018-11-13 10:56:40 · 358 阅读 · 0 评论 -
js中的正则表达式
https://www.cnblogs.com/chenmeng0818/p/6370819.html转载 2018-10-31 10:57:41 · 114 阅读 · 0 评论 -
将数组转变为字符串 join()方法
join方法用于把数组中的所有元素放入一个字符串,数组中的元素放入字符串时,是通过制定的分割符进行分割,分隔符为可选的,如果省略该参数,则使用逗号作为分割符进行分割[].join(',')或者[].join()...原创 2018-10-31 10:42:33 · 6807 阅读 · 1 评论 -
js判断两个对象是否相等
1.JSON.stringify(A)==JSON.stringify(B)(A和B为两个对像);2.定义一个对象var a={},判断a是否为空JSON.stringify(a) == "{}";3.两个数组A和B如果想将B赋值给A,但是对A进行操作的时候B不变var A = [].concat(B);...原创 2018-09-19 10:21:31 · 3213 阅读 · 0 评论 -
多个if与多个else if的情况
形式: if ......if......if......else if......else if......else if...... else总结: 如果是多个else if的话,只要第一个if条件成立,即使满足else if的条件也不会执行else if及else的内容; 如果是多个if的话,最后的else会执行; el...原创 2018-08-08 09:50:09 · 6921 阅读 · 2 评论 -
js获取select标签选中的值
js获取select选中的值var obj = document.getElementByIdx_x(”testSelect”); //定位idvar index = obj.selectedIndex; // 选中索引var text = obj.options[index].text; // 选中文本var value = obj.options[index].value; ...原创 2018-07-20 17:29:03 · 13437 阅读 · 0 评论 -
js中for跳出循环(包括多层循环)return和break的区别
单层循环1.for循环中return语句:会直接跳出循环,因为js中for是没有局部作用域的概念的,所以只有把for循环放在函数中时,才可以在for循环中使用return语句。 2.for循环中的break语句:和return一样会直接跳出循环与return不同的是,使用break时,for循环可以不用一定放在函数中 ; 多层循环:1.return:和单层循环一样必须放在函...原创 2018-11-23 11:06:30 · 29697 阅读 · 1 评论 -
js中判断对象数组中是否存在某个对象,以及使用判断是否存在某个元素的indecOf()和find()方法
判断数组中是否存在某个元素1.直接用indexOf(),如果存在则返回当前索引,如果不存在则返回-1;var arr=[1,2,3,4]arr.indexOf(3) // 2arr.indexOf(5) // -1注意:返回某个指定的字符串在数组中首次出现的位置,如果要查找最后出现的位置,使用lastIndexOf() 2. find():找到第一个符合条件的数组元素,他的参...原创 2019-01-14 10:44:56 · 45371 阅读 · 0 评论 -
js中的闭包
闭包的本质就是在一个函数的内部创造另一个函数,我们可以在一个函数的内部也有权访问另一个函数内部的变量。闭包的三个特性:1.函数嵌套函数;2.函数内部可以引用函数外部的参数和变量;3.参数和变量不会被垃圾回收机制收回。闭包的两种形式:1.函数作为返回值function a(){ var name='dov'; return function (){ ...转载 2019-01-14 15:54:36 · 136 阅读 · 0 评论 -
new Date()日期处理格式
日期格式的转换与时间的获取:var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) // 所以获取当前月份是myDate.getMon...原创 2019-07-31 10:46:21 · 334 阅读 · 0 评论 -
window location href
window.location.href="/":返回首页;"/":是根目录服务器上根目录下默认打开index页面原创 2019-06-27 10:08:44 · 1681 阅读 · 0 评论 -
input中type=hidden
<input type="hidden" value="aaaa">在web开发过程中,对于在页面存储但不需要显示出来的值,我们通常使用上面的代码来存储。但是此时的代码具有兼容性,在ie6,ie7中仍然会占位(ie8没有),所以在ie6,ie7中会导致页面区域出现无故的空白区域。解决方法是:<div style="height:0px;width:0px;dis...转载 2019-05-16 15:55:14 · 22747 阅读 · 0 评论 -
js中encodeURIComponent()函数
encodeURIComponent(URIstring):把字符串作为URI组件进行编码;参数:URIstring:必需。一个字符串,含有 URI 组件或其他要编码的文本。返回值:URIstring的副本,其中某些字符将被十六进制的转义序列进行替换。该方法不会对ASCII字母和数字进行编码,也不会对这些ASCII标点符号进行编码:- _ . ! ~ * ' ( ) 。其他字符(比如 :...转载 2019-05-16 11:50:15 · 2880 阅读 · 0 评论 -
localStorage.setItem()存储对象
使用localStorage.setItem(name,value)存储对象时会发现浏览器存储的内容为[objecy,object],这并不是我们想要的内容,这是因为我们在存储的时候没有进行类型转换,因此我们在使用localStorage.setItem()进行对象存储之前需要使用JSON.stringify(value),进行转换,转换成JSON字符串后进行存储就会是我们想要的样子了即成为{‘x...转载 2019-04-08 11:19:34 · 9432 阅读 · 0 评论 -
Js中Prototype、__proto__、Constructor、Object、Function关系介绍
js中一切皆为对象(object),但是js中并没有类(class),js是基于原型(prototype-based)来实现面向对象(oop)的编程范式的,但并不是所有的对象都有原型(prototype)这一属性的。例如:var a={};console.log(a.protptype);//undefinedvar b=function(){};console.log(b.proto...转载 2019-03-27 11:58:27 · 261 阅读 · 0 评论 -
一个将字符串转驼峰式的函数
function camelCase (str) { return str.split(' ').map(v=>v.replace(/\b(\w)/g,function(fl){ return fl.toUpperCase()})).jion(' ')}camelCase ('hello world');//'helloWorld'map()://返回...原创 2019-03-25 11:09:28 · 1162 阅读 · 0 评论 -
利用filter进行数组去重
filter():使用指定的函数测试所有元素,并创建一个包含所有通过测试元素的新数组。function unique(a) { var res = a.filter(function(item, index, array) { return array.indexOf(item) === index; }); return res;} var a = ...转载 2019-03-21 16:01:48 · 3810 阅读 · 1 评论 -
js中数组扁平化
数组扁平化:就是将一个嵌套多层的数组转换为只有一层的数组。实现结果:var arr=[1,[2,[3,4]]];//偏平化后[1,2,3,4]1.递归:循环数组元素,如果还是一个数组,就递归调用改方法function flatten(arr){ var res = []; for(var i=0;i<arr.length;i++){ i...转载 2019-03-20 18:05:58 · 697 阅读 · 0 评论 -
js清空对象delete
var student={};console.log(student);//Object{}student.name='xiaoming';student.age=12;console.log(student);//Object{name:'xiaoming',age:'12'}//删除操作for(var key in student){ delete student[key...原创 2019-01-09 15:39:14 · 2262 阅读 · 0 评论 -
js中使用splice在一次循环删除数组中的多个元素
splice():该方法会改变原始数组。var arr=[1,2,3];for(var i=0;i<arr.length;i++){ console.log(i+'='+arr[i]); if(arr[i]==2){ arr.splice(i,1); }}//0=1,1=2,由结果可以看出,这个循环只循环了两次,没有判断当arr[i]=...原创 2019-01-09 15:06:40 · 10321 阅读 · 5 评论 -
js中常用到的12中循环遍历的方法
1、for 循环 1 2 3 4 5 6 7 let arr = [1,2,3]; for (let i=0; i<arr.length; i++){ console.log(i,arr[i]) } // 0 1 // 1 2 // 2 3 for ...转载 2019-01-14 17:05:07 · 750 阅读 · 0 评论 -
ip的正则表达式
var regExpr = /^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$/;注:'?':匹配前面的子表达式零次或者一次...原创 2019-01-14 16:33:00 · 3266 阅读 · 0 评论 -
关于ajax请求的一些问题(面试)
1.ajax默认的请求是同步还是异步?ajax中一般是根据async的值不同分为同步(async=false)和异步(async=true)两种执行方式,在w3c的教程中推荐使用异步执行。2.ajax中什么时候使用同步,什么时候使用异步?这个问题的思路是:什么是同步请求,什么是异步请求,然后才是使用场景的分析(1)什么是同步请求: 同步请求即是当前发送请求后,浏览器什么都不能做,必须...原创 2018-07-13 15:24:02 · 987 阅读 · 0 评论 -
jq中extend函数的使用
jq的扩展方法extend是我们在写插件的过程中常用的方法。1.jq的扩展方法extend的原型:extend(dest,src1,src2,src3...);该方法的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出,使用了改方法后,dest的结构被修改。如果只想要得到合并的结果却不想修改dest的结构,可以这样使用:var n...原创 2018-07-19 15:25:15 · 1848 阅读 · 0 评论 -
webpack的好处
1.轻松使用es6。 因为webpack可以在浏览器不支持es6的情况下让你使用es6语法,最新的webpack版本已经不需要配置也能过变异es6语法,之前的版本都需要加入babel加载器才可以打包es6.2.可以打包文件3.代码改变后,可是在浏览器上没有显示出改变后的效果。4.减少界面请求数量。 许多图片图表都是放到一张图片上的,这样做的原因是因为能过减少图片体积,同样的将js,css文件...原创 2018-07-13 14:21:22 · 5703 阅读 · 1 评论 -
table:表格设置table-layout:fixed属性后,如果表格中第一行出现合并单元格,那么后面tr中的td设置宽度无效
针对上面的问题,现在又两种解决方法: 1 在表格的第一行设置一个隐藏的行如下:[html] view plain copy<table style="table-layout: fixed; width:100%;"> <tr style="display:none"> <td width="30%"></td&g原创 2018-06-13 11:12:05 · 4217 阅读 · 0 评论 -
js的数据类型和内存分析
原创 2018-06-05 15:07:01 · 383 阅读 · 0 评论 -
js构造函数内的方法和构造函数protoType属性上的方法的对比
区别1:定义在构造函数内部的方法,会在它的每一个实例上都克隆这个方法;定义在构造函数的 prototype 属性上的方法会让它的所有示例都共享这个方法,但是不会在每个实例的内部重新定义这个方法 区别2:如果是在函数的prototype属性上定义方法的话,要牢记一点,如果你改变这个方法,那么由这个构造函数产生的所有对象的那个方法都会被改变区别3:关于对象序列化的问题:定义在函数的prototype上...原创 2018-06-05 16:10:18 · 695 阅读 · 0 评论 -
js中声明函数的三种方式
1).函数声明方式 function sum(){};调用:sum()2).函数表达式声明方式 var add=function(){};调用:add()3)使用Function构造函数var add2=new Function();调用 :add2()...原创 2018-06-04 18:30:47 · 6912 阅读 · 0 评论 -
数组常用方法pop(),push(),shift(),reverse(),cancat(),indexOf(),lastIndexOf()
push()和pop(): push():接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度; pop():数组末尾移除最后一项,减少数组length的长度,然后返回移除的项shift()和unshift(): shift()删除原数组第一项,并返回删除元素的值,如果数组为空则返回undefined; u...原创 2018-06-04 18:20:02 · 222 阅读 · 0 评论 -
数组的高级API :sort(),slice(),splice(),forEach(),map(),filter(),every()some()
sort():按升序排列数组,即最小的值位于最前面,最大的值排在最后面。 存在问题:只能通过第一位排序,解决的方法:通过回调函数进行规则设置。(a-b:升序;b-a:降序)slice():返回从原数组中指定开始下标到结束下标之间的项组成的新数组; slice()方法可以接受一个或者两个参数,即要返回项的起始和结束位置。 在只有一...原创 2018-06-04 17:51:55 · 530 阅读 · 0 评论