作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个名为“createGameObjectConstructor”的函数,它接受一个函数和一个原型(prototype),将原型(prototype)和一个方法添加到函数中,然后返回该函数。它可以像这样使用
Monster = createGameObjectConstructor(function () {
this.evilness = 9001;
}, {
eatHuman:function () {
console.log('human consumed');
}, type:'scary'
});
“createGameObjectConstructor”看起来像这样
createGameObjectConstructor = (function () {
var recent = function () { //every actual object constructor will share this method
return (instance.length> 0) ? instance[instance.length - 1] :null;
};
return function (constructor, prototype) { //createGameObjectConstructor
var instanceArray = new Array();
constructor.prototype = prototype;
return function (){ //actual object's constructor
var instance = new constructor();
instance.constructor = constructor;
instanceArray.push();
return instance;
};
f.recent = recent;
return f;
}
}());
但是当我在 Chrome 的控制台中调用 Monster().eatHuman();
时,它返回未定义的函数,但旁边有一个奇怪的箭头,这是因为我奇怪的编码不知何故导致它过于评估代码什么的?
这是一个 fiddle http://jsfiddle.net/UZmL9/
最佳答案
这仅意味着函数的返回值是未定义
。
所有 JavaScript 函数 return undefined
by default如果没有找到明确的 return
语句。
function foo(){
console.log("Hi");
}
foo(); // you will get the same 'undefined'
但是
function foo(){
console.log("Hi");
return 5;
}
foo(); // you will get 5 with that arrow
关于javascript - 在控制台中调用原型(prototype)方法时,Chrome Web 检查器显示异常符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984860/
我是一名优秀的程序员,十分优秀!