Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中是否有关键字“capital”?_Javascript_Jquery - Fatal编程技术网

javascript中是否有关键字“capital”?

javascript中是否有关键字“capital”?,javascript,jquery,Javascript,Jquery,我正在调用一个名为“capital”的函数,但它不起作用,“capital”也起作用。 它是js中的关键字还是这是什么 这是代码,看看,测试一下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m

我正在调用一个名为“capital”的函数,但它不起作用,“capital”也起作用。 它是js中的关键字还是这是什么

这是代码,看看,测试一下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML Select Element</title>
<script type="text/javascript">
function capita(){
alert('yes');
c = new Array("Islamabad", "Tehran", "Bejing", "New Delhi", "Kabul");

var i;
i = document.f1.country.selectedIndex;
document.f1.capital.value=c[i];
}
</script>
</head>
<body>
<h3>Countries and Capital</h3>
<form name="f1" method="post">
The capital of 
<select name="country" id="country" onChange="capita();">
<option selected>Pakistan
<option>Iran
<option>China
<option>India
<option>Afghanistan 
</select>
is <input type="text" name="capital" value="Islamabad"/> 
</form> 
</body>
</html>
不,资本不是一种财富。它既不在当前关键字列表中,也不在未来保留字列表中。甚至不是以前规范中更长的前一个列表

代码的问题在于,在某些浏览器中,所有名称值最终都是全局值。当然,在全局范围内声明的所有函数也是如此。因此,在这些浏览器上,函数capital和标记中名为capital的元素之间存在冲突。更改其中任何一个都可以解决问题。特别是Internet Explorer,有这个问题

一般来说,除非您正在编写库,否则根本不要向全局范围添加任何代码符号,在这种情况下,可以接受一个名为“唯一合理”的符号。例如,您的代码根本不需要任何全局代码符号:

HTML:

资本是对输入元素的引用

<input type="text" name="capital" value="Islamabad"/>
您将看到它提醒:

"[object HTMLInputElement]"
…或类似的东西

下面是一个更新的示例,它更改了内联处理程序,如下所示:

<select name="country" id="country" onChange="alert('LOCAL: ' + capital + 
                                             '\n\nGLOBAL: ' + window.capital);"> 
所以现在它提醒了capital和window.capital。如果在不同的浏览器中进行测试,可能会得到不同的结果

Chrome显示:

本地:[对象HTMLInputElement]

全局:函数资本{}


该函数在选择列表的事件OnChange上被调用。请向我们显示您的代码。@Bilal:您可以编辑您的问题以改进它。将代码发布到评论中是没有用的。我已经使用alert'success'进行了测试;在我的函数之上,它没有触发函数名为Capital的bt,一切都很好
<select name="country" id="country" onChange="alert(capital);"> 
"[object HTMLInputElement]"
<select name="country" id="country" onChange="alert('LOCAL: ' + capital + 
                                             '\n\nGLOBAL: ' + window.capital);">