Javascript run()函数

时间:2015-07-14 08:31:14

标签: javascript

var test = function(msg) {
  alert(msg)
};

(new test("hi")).run();
(new test("hello")).run();

当我在javascript代码上面运行时,我能够获得警报“hi”。但警告“你好”不会出现。

  1. 任何人都可以解释上面的内容,我对此完全陌生。只有我知道“测试”是一个功能
  2. 什么是run()方法呢?因为当我在上面的代码中删除run时,我能够看到这两个警报,请帮忙......

    var test = function(msg) {
      alert(msg)
    };
    
    (new test("hi"));
    (new test("hello"));
    

3 个答案:

答案 0 :(得分:9)

很简单,没有run函数,当代码运行(new test("hi")).run()时,它首先运行(new test("hi"))部分,然后run运行错误,所以第二行是从未执行过。

如果要调用某个函数,请将其命名为:

test("hi");

不要将函数(不是构造函数)作为构造函数运行。这是what new does

答案 1 :(得分:3)

“run”不是已定义的函数。 即使你用“xyz”||替换“run” “abc”或任何其他未定义的随机函数名称,上面的代码将以相同的方式工作。

var test = function(msg) {
  alert(msg)
};

/** test("hi") getting called, then xyz() throws a javascript error **/ 
(new test("hi")).xyz();

/** No Execution as there was an error on previous line **/ 
(new test("hello")).xyz();

它只是最初“test”函数被调用一次,当遇到未定义的.run()时,它会抛出错误并执行停止。

答案 2 :(得分:0)

您是否可以使用“查找并替换”例程来读取Cookie,然后将其替换为“?”?

我无法使用上面的所有技巧删除所有路径cookie,但仍在使用它,但我确实制作了一个书签,以提取所有cookie并将它们放入iframe中,以便您可以复制并粘贴它们。

javascript: var c=document.cookie;if (c==''){alert('This site didn\'t give you any cookies at all.\nNot a single one!');}else{w=window.open('','Links','scrollbars,resizable,width=400,height=600');w.document.write(c);    }