1. 立即执行函数
参考:https://blog.csdn.net/csdn_yudong/article/details/77431106
函数表达式,不是函数声明,可以加 ( ) 后立即执行函数。
(function(a) {
console.log(a); //1.使用()运算符,打印出1234
}(1234));
(function(a) {
console.log(a); //2.使用()运算符,打印出123
})(123);
2. return
的使用
if 判断语句返回false,应当尽早返回return;函数返回一个变量,应当在函数的末尾return出来。
// 语句判断false
if(满足不合格条件1) {
return;
}
// 函数返回变量,需要使用return;
function square(x) {
return x * x;
}
var demo = square(3); // 9
break
的使用 :break会跳出整个循环体,continue只会跳出当次迭代,继续下面的循环。
// for循环 使用 break 可以跳出全部循环!使用 continue 可以跳出当次循环!
for(var i=1;i<5;i++){
if(i==3){
break; // 使用break,弹出2次提示分别为1,2;如果使用continue,则会弹出3次,分别是1,2,4
}
}
3. axios中params
和data
参数的区别:
- params:参数是加到请求url的字符串中的,用于get请求。
- data:参数加到请求体body中的,用于post请求。
4. 类型转换
console.log('11'-2); //数字 9
console.log('aaa'-2); //数字 NaN
console.log('11'+2); //字符串 '112'
console.log('aaa'+2); //字符串 'aaa2'
// 布尔值为false的几种情况:
0 '' undefined null false //值为false
1 '0' //值为true
// 判断是否是非数字类型 :isNaN()
if(x==""||isNaN(x)){ }
5. mouseout / mouseleave 以及 mouseover / mouseout [解决闪烁问题]
mouseenter
:只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件(不具有事件冒泡)
mouseover
:不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。
mouseleave
:只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
mouseout
:不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
6. match() 方法可在字符串内检索指定的值,它返回指定的值,而不是字符串的位置
var str="Hello world!"
str.match("world") //world
str.match("worlld") //null
str.match("world!") //world!