在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 重寫 console方法

重寫 console方法

圖片描述

找到這個符合我的要求 但是沒看懂到底是怎么做到的

ADD:

不好意思,剛發(fā)現(xiàn)我修改的方法也不能實現(xiàn)我要的效果
這里說一下我的需求
主要是為了實現(xiàn)
1.自定義的log()函數(shù)既能根據(jù)開關(guān)值(true false)判斷是否輸出錯誤信息
2.在調(diào)試窗口 自定義的log()函數(shù)能跟蹤到執(zhí)行時的文件目錄

    如下圖: 1,2的執(zhí)行位置都在selectPoint.js內(nèi)
    希望2的mylog()函數(shù)后面顯示的文件名為 selectPoint.js  而不是 mylog()函數(shù)被定義的文件位置

clipboard.png

查了部分資料,是不是需要手動完成 堆棧追蹤部分的操作 emmmm。。。。

回答
編輯回答
嘟尛嘴

mxLibirary.debug開關(guān),
比如 在開發(fā)環(huán)境下打開,使用 mylog就可以在控制臺打印出東西。生產(chǎn)環(huán)境下關(guān)閉,就無法打印。

函數(shù)內(nèi)部: oriLogFunc 指向 console.log 方法,使用call, 傳入執(zhí)行環(huán)境和 參數(shù)。調(diào)用 console.log 方法

2018年7月3日 15:48
編輯回答
清夢

console.trace 這個輸出的路徑有點太復(fù)雜了 一打開幾十行 0.0

2018年1月25日 01:31
編輯回答
柒槿年

const log = console.log 不就好了

2017年1月26日 08:58
編輯回答
舊螢火

改成console.trace就行

2017年12月11日 01:31
編輯回答
鹿惑

這個功能不全,如果傳入mylog(1,2)結(jié)果就不同了,我寫了個:

var show = true;
var log = function(){
    if(show){
        console.log.apply(null,arguments)
    }
}
log("You can see me.");

// 線下設(shè)置show=true,
// 線上改為show=false,即可

// console.log.apply(null,arguments) 
/* apply第一個參數(shù)為console.log函數(shù)運行時內(nèi)部this指向, 這兒沒多大影響, 隨便設(shè), 
   主要是第二個參數(shù), 為傳入console.log的參數(shù), 也就是需要打印在控制臺的字符
*/

ADD改為這個:

var show = true,
    log = (function(){
        return show ? console.log.bind() : new Function();
    })();
2018年3月6日 13:18