function F1 () { return {}; }
function F2 () { }
[F1(), new F2()]; // [Object, F2]
我需要F1的行为类似于没有新命令的F2 - [F1,F2]。
答案 0 :(得分:3)
在调用F1时你是返回对象 webView.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// TODO Auto-generated method stub
super.onReceivedError(view, errorCode, description, failingUrl);
webView
.loadData(
"<div>Please check your internet connection.</div>",
"text/html", "UTF-8");
}
@TargetApi(android.os.Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
// Redirect to deprecated method, so you can use it in all SDK versions
onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
}
});
,这是真的!!! ..但如果你想要{}
I need to the behavior of F1 was similar to F2.
答案 1 :(得分:1)
构造函数只是对象,可以使用new
关键字初始化。因此,F1()
只是一个函数调用,而new F2()
是一种创建新对象的方法。
你可以看到:
function F1 () { return {}; } // <----not a constructor method
function F2 () { } // <---------------This can be a constructor method
F1()
不是这里的构造函数方法,因为它有一个返回值作为对象。您不能拥有具有返回值的构造函数。
虽然F2()
没有返回值,因此可以用作构造函数。
答案 2 :(得分:0)
覆盖toString
方法。
答案 3 :(得分:-1)
这是一个浏览器&amp;控制台版本描述可靠。
这就是你可以从IE10控制台上获得的相同代码:
function F1 () { return {}; };
function F2 () { };
[F1(), new F2()];
>> [object Object],[object Object] {
0 : [object Object],
1 : [object Object]
}