这个代码我遇到了一个奇怪的问题。我可以很容易地解决它,但我想知道为什么会这样。
如果我在下面发表评论string TextFile ::getName() const{
return text_;
}
void TextFile :: print() const {
cout << text_ << endl;
}
bool TextFile :: operator==(const TextFile& textFile) const {
return text_==textFile.text_;
}
,我会在IFFY中收到child
错误。该功能位于全球范围内,应该可以在任何地方使用。不确定为什么?
undefined
(还有other issues with this code我在一个额外的问题中询问过)
答案 0 :(得分:4)
这只是自动分号插入搞乱你。当你省略child
时,你会得到:
child=function() {
parent.call(this);
child.prototype = new parent();
}
(function(){
var instance1 = new child();
console.log( instance1 ); // Empty Object
var instance2 = new child();
console.log( instance2 ); // Object is not empty
}());
解析为:
child=function() {
parent.call(this);
child.prototype = new parent();
}(function(){ // FUNCTION CALL
var instance1 = new child();
console.log( instance1 ); // Empty Object
var instance2 = new child();
console.log( instance2 ); // Object is not empty
}());