[英]JavaScript and why capital letters sometimes work and sometimes don't
在Notepad ++中,我正在编写一个JavaScript文件,但某些操作不起作用:单击按钮后必须显示警报,但该按钮不起作用。
我使用了Notepad ++随附的自动完成插件,该插件向我展示了onClick
。
当我将大写字母C
更改为小c
,它确实起作用了。
因此,首先,在查看自动完成功能时,我注意到很多使用大写字母的功能。
但是,当您将getElementById
更改为getelementbyid
,也会出错,并且使情况更糟的是,我从学校getelementbyid
手册中用大写字母写了所有内容,但解决方案全部用小写字母完成。
那么JavaScript有什么用呢?它的选择性本质是:哪些函数可以包含大写字母,哪些不能呢?
Javascript 始终区分大小写,而html则不区分大小写。
听起来您正在谈论html属性(例如onclick)是否区分大小写。 答案是这些属性不区分大小写,但是我们通过DOM访问它们的方式是。 因此,您可以这样做:
<div id='divYo' onClick="alert('yo!');">Say Yo</div> // Upper-case 'C'
要么:
<div id='divYo' onclick="alert('yo!');">Say Yo</div> // Lower-case 'C'
但是通过DOM,您必须使用正确的大小写。 所以这有效:
getElementById('divYo').onclick = function() { alert('yo!'); }; // Lower-case 'C'
但是您不能这样做:
getElementById('divYo').onClick = function() { alert('yo!'); }; // Upper-case 'C'
编辑:CMS很好地指出了大多数DOM方法和属性都在camelCase中 。 想到的一个例外是事件处理程序属性,无论如何,这些属性通常被认为是错误附加到事件的方式。 优先使用addEventListener
如下所示:
document.getElementById('divYo').addEventListener('click', modifyText, false);
IE中的一些对象并不总是区分大小写,包括一些/大多数/所有ActiveX-为什么XHR.onReadyStateChange和XHR.onreadystatechange都可以在IE5或IE6中正常工作,但是只有后者可以与本机XMLHttpRequest对象一起工作在IE7,FF等中
" API casing: 但是,“ ” API外壳的快速参考:
没有100%的保证。 但是,从多数角度来看,这是正确的。
几乎所有JavaScript API方法都使用lowerCamelCase名称来调用,并且JavaScript区分大小写
Javascript 应该始终区分大小写,但是我已经在Internet Explorer中看到了一些案例,在该案例中,它允许某些函数名使用大写字母,而其他函数名则不允许。 我认为它仅限于Visual Basic中也存在的函数,因为解释器之间存在一些奇怪的近交。 显然,应该避免这种行为,除非您的意图当然是使代码仅在一个浏览器中运行:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.