javascript - js自定义console.log完全不理解,求大神
本文介绍了javascript - js自定义console.log完全不理解,求大神的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
function log(){
console.log.apply(console, arguments);
};
这句中我理解该是,让console指向console.log,为什么要让console这个对象指向它自己的一个方法呢?还有后边这个arguments是传入给console的应该,但是console(arguments),也不是console.log(arguments)啊,完全看不懂,急哭,求大神帮帮忙
解决方案
function log(){
console.log.apply(console, arguments);
};
arguments
为log函数调用时实际传递给log函数的参数列表,是一个类数组对象,可以获取其长度及通过下标获取log函数实际调用时接收到的各个参数apply
方法为Function函数对象的方法,其第一个参数指定了函数对象的的执行上下文,也就是我们函数调用时的this
变量的指向,apply第2个参数为一个数组,为传递给函数对象的运行参数
上面代码这样写的一个目的就是为了解决log方法被调用时实际传入参数不确定的问题,参数的不确定导致你方法通过常规的console.log方法来输出日志
类似的还有一个call
方法,和apply
方法的区别为参数是一个一个参入而不是以数组的方法打包传入,在你有确定的参数个数时使用
这篇关于javascript - js自定义console.log完全不理解,求大神的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文