1.setTimout第一个参数可以是函数,也可以是字符串,当传入字符串时,就会有内存泄漏
2.ajax请求时,需要设置请求超时,不然如果后端一直不返回结果,这个进程就一直存在,特别我们还在轮询,这个对内存的消耗非常大
- function.length是函数参数的length
4.当我们直接将函数参与其他的计算时,函数会默认调用toString方法,直接将函数体转换为字符串参与计算。
function fn() { return 20 }
console.log(fn + 10); // 输出结果 function fn() { return 20 }10
但是我们可以重写函数的toString方法,让函数参与计算时,输出我们想要的结果。
function fn() { return 20; }
fn.toString = function() { return 30 }
console.log(fn + 10); // 40
除此之外,当我们重写函数的valueOf方法也能够改变函数的隐式转换结果。
function fn() { return 20; }
fn.valueOf = function() { return 60 }
console.log(fn + 10); // 70
当我们同时重写函数的toString方法与valueOf方法时,最终的结果会取valueOf方法的返回结果。
function fn() { return 20; }
fn.valueOf = function() { return 50 }
fn.toString = function() { return 30 }
console.log(fn + 10); // 60
网友评论