所以Math.round(11.5)=12,Math.round(-11.5)=-11,两者相加为1;
2.
1. console.log(1+ "2"+"2"); 做加法时要注意双引号,当使用双引号时,JavaScript认为是字符串,字符串相加等于字符串合并。 因此,这里相当于字符串的合并,即为122. 2. console.log(1+ +"2"+"2"); 第一个+"2"中的加号是一元加操作符,+"2"会变成数值2,因此1+ +"2"相当于1+2=3. 然后和后面的字符串“2”相合并,变成了字符串"32". 3. console.log("A"- "B"+"2"); "A"-"B"的运算中,需要先把"A"和"B"用Number函数转换为数值,其结果为NaN,在剪发操作中,如果有一个是NaN,则结果是NaN,因此"A"-"B"结果为NaN。 然后和"2"进行字符串合并,变成了NaN2. 4. console.log("A"- "B"+2); 根据上题所述,"A"-"B"结果为NaN,然后和数值2进行加法操作,在加法操作中,如果有一个操作数是NaN,则结果为NaN。
3. js里有域的概念,函数外边的是全局值,在fun1函数里是局部域,可以读取外部变量,但是这个局部域里又重新定义,就不会再读取外部,覆盖
var val = 12; function fun1(){ console. log(val); var val = 20; console.log(val); } fun1(); //等价于 var val = 12; function fun1(){ var val; console. log(val); //undefined val = 20; console.log(val); //20 } fun1();
1. 数组去重 includes indexof ...new Set(arr)
2. s.charCodeAt(i)>255  查询某个字符的unicode编码
3.oNode2.contains   查询是否包含某个DOM节点
4. for..of和for...in区别 (in 遍历的是对象的键值,数组的下标,of遍历数组的值)
5. 校验邮箱格式   reg=/^([\w+\.])+@\w+([.]\w+)+$/;
6. nameArr[i].toUpperCase()  小写字母转换为大写 
7.sName.split('')  字符串拆分   nameArr.join('')  字符串拼接
8. 字体加粗方法之一  strong标签
9. concat不改变原数组,需要用变量接收返回新数组
10. array.indexOf()  array.lastIndexOf()  可以用来判断数组是否有重复元素
11. return  可以返回一个函数,包含在对象里
function count(start, end) { console.log(start); let interval = setInterval(()=>{ if(start< end){ ++start; console.log(start); }else{ clearInterval(interval) } },100) let obj ={ cancel:function(){ clearInterval(interval) } } return obj; }
12. 函数参数不定时,可以使用arguments对象遍历所有参数
13. 十进制转二进制  num.toString(2)   二进制转十进制  parseInt(str,2)
14.  array.reduce()  ??????
15. splice不可以用于字符串  slice可以用于字符串
16. 判断某对象属性是否在原型链上   obj.hasOwnProperty(key) ;(这个方法可以用来检测一个对象是否含有特定的自身属性;和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。)
17. 正则判断是否包含用.*   (是否包含数字   reg = /.*\d.*/g;  reg = /\d+/g;  reg = /[0-9]/;)
18. 正则判断是否包含连续重复字符用 \1   (是否包含连续重复字母 /([a-zA-Z])\1/.test(str)   是否包含连续重复数字 /(\d)\1/.test(str) )
19 .  判断是否以元音字母结尾  i表示不区分大小写  $表示字符结尾 /[aeiou]$/gi.test(str)
20. 判断是否包含连续三个数字  并返回最先匹配的三个数字
//方法一 function captureThreeNumbers(str) { if(str.length<3){return false;} var reg=/\d{3}/g; var result=reg.test(str); if(result){ return RegExp.lastMatch; }else{ return false; } } //方法二 function captureThreeNumbers(str) { var result = str.match(/(\d{3})/) return result ? result[0] : false }
21. 修改函数的this指向   f.bind(oTarget)
function speak(fn, obj) { return fn.apply(obj,[]) //修改上下文是指 将this修改为obj,则函数中 this.greeting 变为 obj.greeting 其他变量同理 }
22.  格式化时间????
function formatDate(t,str){ var obj = { yyyy:t.getFullYear(), yy:(""+ t.getFullYear()).slice(-2), M:t.getMonth()+1, MM:("0"+ (t.getMonth()+1)).slice(-2), d:t.getDate(), dd:("0" + t.getDate()).slice(-2), H:t.getHours(), HH:("0" + t.getHours()).slice(-2), h:t.getHours() % 12, hh:("0"+t.getHours() % 12).slice(-2), m:t.getMinutes(), mm:("0" + t.getMinutes()).slice(-2), s:t.getSeconds(), ss:("0" + t.getSeconds()).slice(-2), w:['日', '一', '二', '三', '四', '五', '六'][t.getDay()] }; //$1 指正则替换的第一个参数 return str.replace(/([a-z]+)/ig,function($1){return obj[$1]}); }
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号