`
鹤惊昆仑
  • 浏览: 229285 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用Function.prototype.toSource格式化代码

阅读更多
function test(){ /*any*/var a=1;return a;}
console.log(test.toSource(3))//会格式化输出函数源码,参数3表示缩进。

可惜函数中的注释会被丢失。chrome和IE均不支持该方法,仅限于ff浏览器。

如果看网页时看到很cool的效果,但是代码是一坨混淆压缩后的,那么此时就可以利用toSource这个函数而无须借助于翻混淆工具。
function unObfuscator(){
 //把那一坨混淆压缩的代码copy到这个函数里面
 ...
}
alert(unObfuscator. toSource(3));//缩进为3. ok啦!
2
0
分享到:
评论

相关推荐

    Function.prototype.name:符合ES6规范的Function.prototype.name垫片

    function.prototype.name 符合ES2015规范的Function.prototype.name垫片。 如果不可用,则调用其“ shim”方法来对Function.prototype.name进行填充。 注意: Function#name需要一个真正的ES5环境-特别是一个带有ES5...

    Function.prototype.apply()与Function.prototype.call()小结

    在JavaScript中,`Function.prototype.apply()` 和 `Function.prototype.call()` 是两种非常重要的方法,它们用于在不同的上下文中调用函数,并允许我们灵活地传递参数。这两个方法的主要区别在于处理参数的方式,但...

    深入理解JS中的Function.prototype.bind()方法

    对于函数绑定(Function binding)很有可能是大家在使用JavaScript时最少关注的一点,但是当你意识到你需要一个解决方案来解决如何在另一个函数中保持this上下文的时候,你真正需要的其实就是 Function.prototype.bind...

    Function.prototype.call.apply结合用法分析示例

    在JavaScript中,`Function.prototype.call` 和 `Function.prototype.apply` 是两种非常重要的方法,它们都是用来改变函数调用时的上下文(即`this`值)以及传递参数。在这个特殊的面试题中,这两种方法被结合在一起...

    理解javascript中的Function.prototype.bind的方法

    ### Function.prototype.bind 方法 #### 1. Function.prototype.bind 方法概念 Function.prototype.bind() 是 JavaScript 中的一个方法,用于创建一个新的函数,该函数将被绑定到指定的 this 上,以及初始参数传递...

    Array.prototype.at:符合ES规范的(建议的)shimpolyfillreplacement处的Array.prototype.at,可工作到ES3

    array.prototype.at 符合ESnext规范的Array.prototype.at / polyfill / replacement可以使用到ES3。 该软件包实现了接口。 它在ES3支持的环境中工作,并符合建议的。 因为Array.prototype.at依赖于接收方( this...

    javascript框架(json.jQuery.prototype).rar

    在给定的标题“javascript框架(json.jQuery.prototype).rar”中,我们可以推测这是一个关于JavaScript框架,特别是jQuery框架的教程或者参考资料。jQuery是广泛使用的JavaScript库,它简化了JavaScript的许多方面,...

    Function.prototype.bind用法示例

    想必大家对Function.prototype.bind并不陌生吧,下面为大家介绍下它的简单调用及DOM调用,感兴趣的朋友可以参考下

    Javascript Function.prototype.bind详细分析

    总之,`Function.prototype.bind`是JavaScript中处理`this`指向的关键工具,它允许开发者在不同上下文中保持函数的执行环境,提高了代码的可读性和可维护性。正确理解和使用`bind`方法对于编写高质量的JavaScript...

    Array.prototype.slice.apply的使用方法

    `Array.prototype.slice.apply` 是 JavaScript 中一种巧妙的技巧,它允许我们借用 `Array.prototype.slice` 方法来处理非数组对象,尤其是 `arguments` 对象。`arguments` 是一个伪数组对象,它在每个函数内部可用,...

    prototype 1.3 源码解读

    - **`Function.prototype.bind`**:该方法用于绑定函数执行时的 `this` 上下文,允许用户指定函数在调用时的上下文对象。这在处理事件绑定时非常有用,因为默认情况下事件处理器的 `this` 指向的是触发事件的元素。 ...

    深入理解JavaScript系列(48):对象创建模式(下篇)

    介绍 本篇主要是介绍创建对象方面的模式的下篇...if (typeof Function.prototype.method !== “function”) {  Function.prototype.method = function (name, implementation) {  this.prototype[name] = implementat

    JavaScript中使用Object.prototype.toString判断是否为数组

    为什么要用Object.prototype.toString而不是Function.prototype.toString或者其它?这是和他们的toString解释方式有关系的。下面是ECMA中对Object.prototype.toString的解释: 代码如下: Object.prototype.toString...

    慎用 somefunction.prototype 分析

    标题提到的"慎用 somefunction.prototype",主要涉及的是当我们将对象字面量赋值给`somefunction.prototype`时可能出现的问题。让我们详细探讨一下这个问题: 首先,让我们看两种常见的添加公有方法的方式: 1. ...

    polyfill-function-prototype-bind:用于Function.prototype.bind的Polyfill。 (来自developer.mozilla.org的来源)

    Function.prototype.bind polyfill 这是Function.prototype.bind的polyfill。 如果您正在使用不具有bind方法的浏览器,则很有用。 安装和使用 安装: npm install --save polyfill-function-prototype-bind 使用...

    浅谈javascript的Array.prototype.slice.call

    发现大多人都用了Array.prototype.slice.call(argments,0),一直不明白这句是干什么的。而昨天温习了slice()方法,再参考Function.call(thisArg[, arg1[, arg2[, ...]]]),还是不得而知(我脑筋转得慢:|)。

Global site tag (gtag.js) - Google Analytics