1

我不是指名称属性,例如

String.prototype.myFunc = function(){}

var myString = new String();
console.log(myString);

在控制台中查看创建的函数时,有一个name:''. 我想知道我们是如何设置的。

4

3 回答 3

0

使用命名函数:

String.prototype.myFunc = function myFunc(){};
于 2013-01-14T16:48:07.997 回答
0

您可以使用函数声明语句构造函数,然后将其分配给您选择的原型属性:

(function() { // to keep the global scope clean
  function myFunc() {
    // whatever
  }

  String.prototype.myFunc = myFunc;
})();

实际上,您可以在函数实例化表达式中为任何函数命名,但这并不是一件超级安全的事情。

于 2013-01-14T17:15:30.747 回答
0

你做了一个匿名函数,它的name属性是空字符串。

要么使用命名函数表达式

String.prototype.myFunc = function myNamedFunc(){};

或分配一个您用名称声明的函数:

function myNamedFunc() {};
String.prototype.myFunc = myNamedFunc;
于 2013-01-14T17:18:38.193 回答