码迷,mamicode.com
首页 > 其他好文 > 详细

阻止函数源码在控制台输出

时间:2014-05-23 09:49:20      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   c   code   http   

bubuko.com,布布扣

这是一个很贱的技能,我在谷歌控制台源码里看到的。
相信大家都知道,在控制台里只输入函数名,不输入 () 然后按回车,就可以输出源码。

bubuko.com,布布扣

都不会陌生吧,这也有助于我们调试,是个很棒的技巧。
不过系统内置的就会输出  function alert() { [native code] } 

bubuko.com,布布扣

比如这个。

不过当我们输入 dir 的时候却看到:

bubuko.com,布布扣

WTF,Command Line API ?
难道也是系统的?
以前我以为是,后来发现其实不是,而是一个js处理输出的,防止输出源码的方法。

让我们来找到他的源代码吧。
在控制台输入 debugger 然后按回车键,然后按2F11,好,我们进入到了控制台运行环境了。
在第 1253-1273 行,就是这个函数了。有兴趣的可以仔细研究下,这里就不深入分析了,我们进入下一个环节。

bubuko.com,布布扣

其实我们一句话就可以阻止任何函数输出源码了。

Function.prototype.toString = function toString(){
    return "function " + (this.name || "anonymous") + "() { [native code] }";
}

bubuko.com,布布扣

是不是简单方便,一次性根除所有麻烦。
这只是个障眼法而已,只是忽悠小菜用的,没任何实际用途。
当然,你可以让它随机输出一个招聘信息,或者图文信息,装装逼还是不错的。

bubuko.com,布布扣

好了,今天分享完毕,一个小东西,玩玩而已。。

bubuko.com,布布扣

阻止函数源码在控制台输出,布布扣,bubuko.com

阻止函数源码在控制台输出

标签:style   class   blog   c   code   http   

原文地址:http://www.cnblogs.com/52cik/p/js-function-toString.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!