在VUE项目中,想将console封装成一个公共的方法,但是console的参数不确定有几个

common.vue

<script>
const BASE_PRO_URL = 'https://192.168.60.249:48326'
const BASE_DEV_URL = 'http://192.168.3.25'
const ENVIRONMENT = 'product' // 'product', 'develop', 'developNoNet'
let useConsole = (type, message) => {
  if (type === 'log') console.log(message)
  if (type === 'info') console.info(message)
  if (type === 'warn') console.warn(message)
  if (type === 'error') console.error(message)
}
export default {
  BASE_PRO_URL,
 BASE_DEV_URL,
 ENVIRONMENT,
 useConsole
}
</script>

我现在只实现了console.log(a)

但是console.log(a,b)、console.log(a,b,c)怎么实现?

阅读 2.9k
3 个回答
let useConsole = (type, ...message) => {
  if (type === 'log') console.log(...message)
  ...

ES6剩余参数可实现(rest element

myConsole = (type)=>{
    return (...message)=>{
        console.log(...message)
    }
})
// 用法 myConsole('log')(a,b,c)

重写 console.log

console.log = (function(originCon){
    return function(){
      originCon.apply(this,arguments)
    }
})(console.log)

console.log(111,6666,222)
推荐问题
宣传栏