在JavaScript中进行循环调试
JavaScript中的for循环可用于遍历数组或对象属性中的所有项。这使得循环遍历任何对象或数组非常容易。如以下示例所示,打印出数组中的所有项目。
var count = '';var numbers = new Array(3);
numbers[0] = 42;
numbers[1] = 13;
numbers[2] = 73;
for(i in numbers){
count += numbers[i]+' ';
}
alert(count);
使用JavaScript的三个主要对象是导航器,窗口和文档。尽管窗口是导航器的一部分,而文档是窗口的一部分。因此,要打印出所有与浏览器有关的信息,您可以执行以下操作。请注意,窗口和文档中的某些项目可能会导致JavaScript在某些浏览器中崩溃,因此此处包含一些错误检测。
var html = '<table border="1">';html += "<tr><th>Navigator Properties</th><th>Value</th></tr>";
for(i in navigator){
html += "<tr><td>" + i + "</td><td>" + navigator[i] + "</td></tr>\n";
}
html += "<tr><th>Window Properties</th><th>Value</th></tr>";
for(i in window){
try{
html += "<tr><td>" + i + "</td><td>" + window[i] + "</td></tr>\n";
}catch(err){
// 跳过项目
}
}
html += "<tr><th>Document Properties</th><th>Value</th></tr>";
for(i in document){
try{
html += "<tr><td>" + i + "</td><td>" + document[i] + "</td></tr>\n";
}catch(err){
// 跳过项目
}
}
html += '</table>';
var div = document.getElementById('test');
div.innerHTML = html;
这产生输出。
属性 | 值 |
---|---|
appCodeName | Mozilla |
appName | Netscape |
appVersion | 5.0 (Windows; en-GB) |
language | en-GB |
mimeTypes | [object MimeTypeArray] |
platform | Win32 |
oscpu | Windows NT 5.1 |
vendor | |
vendorSub | |
product | Gecko |
productSub | 20071127 |
plugins | [object PluginArray] |
securityPolicy | |
userAgent | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 |
cookieEnabled | true |
onLine | true |
javaEnabled | function javaEnabled() { [native code] } |
注意:为简便起见,桌子已被切断。
Internet Explorer将使用该属性的值或“对象”来标记所有内容,而与对象类型无关。Firefox,Safari和Opera将通过许多不同的对象类型提供更有意义的输出。需要注意的几种对象类型如下:
[本机代码]:这是本机JavaScript代码。例如,在文档对象中,您将看到一个名为write的属性,其值为函数write(){[native code]}。这是document.write可用于将输出写入浏览器的功能。
[object HTMLCollection]:这是HTML对象的集合(或数组)。例如,文档主体中的每个链接都保留在links属性中。
[对象窗口]:对于frames属性,此对象是窗口数组,每帧一个对象。该对象类型在Opera中称为[object WindowCollection]。
[object PluginArray]:这是一个数组,其中包含有关浏览器中可用插件的信息,而这些信息在Internet Explorer中不可用。要找到Internet Exploer的插件,您将需要使用VBScript。Firefox具有附加的直到属性和功能。如果您想知道用户是否安装了Flash,则可以使用此阵列查找Shockwave Flash插件。每个插件对象都有一个名称属性,您可以使用它来查看插件是什么。
要查找任何内部对象的值,可以在与以前相同的数组中使用点表示法。例如,要查看所有可用于浏览器的插件,请使用以下代码(不适用于IE)。由于每个插件都有一个name属性,因此已包含该属性以详细说明每个插件的名称。
html += "<tr><th>Plugins</th><th>Value</th></tr>";for(i in navigator.plugins){
html += "<tr><td>" + i + "</td><td>" + navigator.plugins[i] + " " + navigator.plugins[i].name + "</td></tr>\n";
}
要查找页面上的所有可用链接,可以使用document.links数组。由于每个链接都应具有标题标签,因此可以使用每个链接的title属性进行引用。
html += "<tr><th>Plugins</th><th>Value</th></tr>";for(i in document.links){
html += "<tr><td>" + i + "</td><td>" + document.links[i] + " " + document.links[i].title + "</td></tr>\n";
}
以上是 在JavaScript中进行循环调试 的全部内容, 来源链接: utcz.com/z/317520.html