1.call( )方法调用一个函数,其具有一个指定的this值
fn.call(改变其this指向, [指定的参数] ) 如果指定了null或者undefired,则内部this指向window
应用场景:①借用构造函数
②借用其他对象的方法
2.apply( )方法调用一个函数,其具有一个指定的this值,作为一个数组提供的参数
fn.apply(var1, var2) 应用:把数组展开
应用场景:把数组展开,传递给调用的方法
3.bind 不会调用函数,会返回一个新的函数
应用场景:①改变定时器内部的this,②改变事件处理函数的this
1 function farmat(mun) { 2 if (mun === null) return; 3 var m = parseInt(mun).toString(); 4 var len = m.length; 5 if (len <= 3) return m; 6 var n = len % 3; 7 if (n > 0) { 8 return m.slice(0,n)+","+m.slice(n,len).match(/\d{3}/g).join(",") 9 } else { 10 return m.slice(n,len).match(/\d{3}/g).join(",") 11 } 12 } 13 var a =farmat(1000000) 14 console.log(a);
1 function clearNoNum(obj){ 2 obj.value = obj.value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符 3 obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的 4 obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 5 obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,‘$1$2.$3‘);//只能输入两个小数 6 if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 7 obj.value= parseFloat(obj.value); 8 } 9 }
1 //字符串 2 var strs = "asdasdadd"; 3 function getmaxstr(str){ 4 if(str.length == 1){return str;} 5 var newarr = []; 6 for(var i = 0 ; ss= str.length, i<ss; i++ ){ 7 if(!newarr[str.charAt(i)]){ 8 newarr[str.charAt(i)] = 1; 9 }else{ 10 newarr[str.charAt(i)] +=1; 11 } 12 } 13 console.log(newarr); 14 var maxkey=‘‘; 15 var maxvalue=1;//设定一个值 16 for(var k in newarr){ 17 if(newarr[k]> maxvalue){//根据这个值做判读 将数组中的每个元素 与这个值做比较! 如果大于他,那么将住宿 18 maxvalue = newarr[k];//出现的次数 19 maxkey = k;//次数最多的 字母 20 } 21 } 22 console.log(maxkey); 23 return maxkey; 24 } 25 getmaxstr(strs);
1 //数组 2 var arr =["a","b","c","c","c","d"]; 3 Array.prototype.diaohuan=function(arr){ 4 var newarr=[]; 5 for(var i = 0; i<this.length; i++){ 6 if(!newarr[this[i]] ){ 7 newarr[this[i]] = 1; 8 }else{ 9 newarr[this[i]] +=1; 10 } 11 } 12 console.log(newarr); 13 var maxkey = 1; 14 var maxvalue =""; 15 for (var k in newarr){ 16 if(newarr[k] > 1){ 17 maxvalue =newarr[k]; 18 maxkey = k; 19 } 20 } 21 return maxkey; 22 console.log(maxvalue); 23 } 24 alert(arr.diaohuan());
高难度知识点
原文:https://www.cnblogs.com/jun-qi/p/10543210.html