我想知道在这种情况下你是否有理由不使用goto vs使用while(变量):
<html>
<head>
<title>Script</title>
<script>
var navigating = false;
window.onbeforeunload = function (e) {
if(!navigating){
return null;
}
navigating = false;
var e = e || window.event;
// For IE and Firefox
if (e) {
e.returnValue = 'àààà Are you sure you want to leave?';
}
// For Safari
return ' àààà Are you sure you want to leave?';
};
function navigate(url){
navigating = true;
setTimeout(function(){ window.location = url; }, 0);
}
window.onload = function(){
var as = document.getElementsByTagName("a");
var navigateToUrl = function(e){
var element = e.target;
var url = element.getAttribute("data-href");
navigate(url);
};
for(var i = 0; i < as.length; i++){
as[i].onclick= navigateToUrl;
}
}
</script>
</head>
<body>
hello
<a href="#" data-href="http://google.com">Google</a>
</body>
</html>
vs
:start
result=askUser("do you want 1,2,or 3?")
switch(result){
case 1: display("you chose 1")
case 2: display("you chose 2")
case 3: display("you chose 3")
default: display("choice not availaible")
goto :start
}
在我看来goto在小μc上会更好,因为你不必设置一个变量并为它使用内存(当你只有256,有点有点)
对于今天的计算机而言,贪婪的几位是徒劳的,那么使用的时间要清楚得多吗?答案 0 :(得分:1)
对于今天的计算机而言,贪婪的几位是徒劳的,那么使用的时间会更清晰吗?
完全。可读性和在绝大多数情况下,可维护性比性能更重要。
我遇到的情况是goto
比while循环更快,即使使用-O3优化,但这是在分子动力学模拟器的O(n ^ 2)算法的最内层循环中。除非使用强烈的用例(需要在代码的生命周期内进行更密集的维护!),请使用while
,因为它更具可读性,并且不太可能做出奇怪的事情。