相关疑难解决方法(0)

如何最好地确定参数是否未发送到JavaScript函数

我现在已经看到了两种确定参数是否已传递给JavaScript函数的方法.我想知道一种方法是否优于另一种方法,或者一种方法是否使用不好?

 function Test(argument1, argument2) {
      if (Test.arguments.length == 1) argument2 = 'blah';

      alert(argument2);
 }

 Test('test');
Run Code Online (Sandbox Code Playgroud)

要么

 function Test(argument1, argument2) {
      argument2 = argument2 || 'blah';

      alert(argument2);
 }

 Test('test');
Run Code Online (Sandbox Code Playgroud)

据我所知,它们都产生了相同的结果,但我在生产之前只使用过第一个.

汤姆提到的另一个选择:

function Test(argument1, argument2) {
    if(argument2 === null) {
        argument2 = 'blah';
    }

    alert(argument2);
}
Run Code Online (Sandbox Code Playgroud)

根据胡安的评论,将汤姆的建议改为:

function Test(argument1, argument2) {
    if(argument2 === undefined) {
        argument2 = 'blah';
    }

    alert(argument2);
}
Run Code Online (Sandbox Code Playgroud)

javascript arguments

229
推荐指数
6
解决办法
14万
查看次数

我可以覆盖Javascript Function对象来记录所有函数调用吗?

我可以覆盖Function对象的行为,以便我可以在每个函数调用之前注入行为,然后继续正常吗?具体来说,(虽然一般的想法本身很有趣)我可以在每个函数调用时登录到控制台而无需在任何地方插入console.log语句吗?那么正常的行为还在继续吗?

我确实认识到这可能会产生严重的性能问题; 即使在我的开发环境中,我也无意进行此操作.但如果它工作,似乎是一个优雅的解决方案,以获得运行代码1000米的视图.我怀疑答案将向我展示更深入的javascript.

javascript

50
推荐指数
2
解决办法
2万
查看次数

有没有办法用函数包装所有JavaScript方法?

我想用一些日志代码包装每个函数调用.会产生输出的东西,如:

func1(param1, param2)
func2(param1)
func3()
func4(param1, param2)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要一个形式的API:

function globalBefore(func);
function globalAfter(func);
Run Code Online (Sandbox Code Playgroud)

我已经搜索了相当多的内容,但似乎只有面向方面的解决方案需要你包装你想要记录的特定功能,或者其他什么.我想要一些适用于全局范围内的每个函数的东西(显然除了它本身).

javascript logging aop function word-wrap

12
推荐指数
1
解决办法
3197
查看次数

在JavaScript中更改构造函数

我正在尝试一段时间来切换对象的构造函数而我失败了.继续代码将显示我需要的示例.谢谢.

    <script type="text/javascript">

    function Me(){

      this.name = "Dejan";
    }

    function You(){

        this.name = "Ivan";
    }


    Me.prototype.constructor = You;
    somebody = new Me();


    alert(somebody.name); // **It gives Dejan, and I am expecting Ivan**

    </script>
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
2
解决办法
8948
查看次数

标签 统计

javascript ×4

aop ×1

arguments ×1

function ×1

logging ×1

word-wrap ×1