主题:javascript的几个问题
ir77
[专家分:570] 发布于 2007-06-01 01:13:00
有一段程序:
function warning(obj, msg) {
if((ton = obj.id.substr(5, obj.id.length)) != 'password2') {
$(ton).select();
}
obj.style.display = '';
obj.innerHTML = '<img src="images/blue/check_error.gif" width="13" height="13"> ' + msg;
obj.className = "warning";
}
1、这是我从别人的网站看到了,有几个用法不太懂,ton应该不是javascript的程序语言,但是通篇找不到任何对于这个变量的定义,但是没有报错,为什么???
2、obj.id应该就是物件的id,比如对于<input id="username" name="name">,obj.id应该就是username,不知道是不是这样????
3、$(ton).select();这个一点没有看懂,$应该相当于document.getElementById,但是这一句就不懂了,select()是什么呢?没见过这种用法呀,如果说select()是function,但是前面没有对它进行定义呀???
回复列表 (共11个回复)
沙发
雪中跑狗 [专家分:230] 发布于 2007-06-01 10:41:00
$(ton)
$写法是js里一种鲜为人知的写法
$() 是prototype 提供的一个函数,用来通过id获取dom元素
这里相对于
ton = obj.id.substr(5, obj.id.length)
$(ton)=document.getElmentById(ton);
估计ton是一个selects组件(下拉列表)
板凳
ir77 [专家分:570] 发布于 2007-06-01 10:58:00
1楼的朋友仍然没有回答我的问题,ton如果是变量,怎么没有定义过?而且没有提示错误??
而且selects应该不是下拉列表,因为代码里面根本没有任何相关的下拉列表。
最好能够直接回答我帖子里的三个问题,谢谢了。
3 楼
雪中跑狗 [专家分:230] 发布于 2007-06-01 12:04:00
if((ton = obj.id.substr(5, obj.id.length)) != 'password2')
ton = obj.id.substr(5, obj.id.length)
已经在if的小括号里面赋值过了,js语法很松,可以不写var ton直接ton=xxxxxx
2.你的理解没错
obj.style.display = '';
obj.innerHTML = '<img src="images/blue/check_error.gif" width="13" height="13"> ' + msg;
obj.className = "warning";
从这里看,obj应该是个html的元素,并且看功能,似乎是个用来显示错误信息的容器,比如是个<div id="abcd_password"></div>
3.select()是
select() Selects and highlights the entire text that is in the textarea
选中并用高亮textarea里面的文字
所以估计传入的obj是个textarea或者其他支持高亮选择的并且能显示图片和文字的html容器
4 楼
ir77 [专家分:570] 发布于 2007-06-01 14:26:00
1、这段代码难道不是javascript吗?怎么又变成js了?
2、对,这个就是显示错误的函数。
3、你这么一说,我仔细看了一下,却是会把有问题的内容选中高亮。
多谢了。
5 楼
雪中跑狗 [专家分:230] 发布于 2007-06-01 14:35:00
[quote]1、这段代码难道不是javascript吗?怎么又变成js了?
2、对,这个就是显示错误的函数。
3、你这么一说,我仔细看了一下,却是会把有问题的内容选中高亮。
多谢了。[/quote]
js就是javascript懒得打这么全的时候的缩写,好比vbs,vba,ajax这样的缩写
6 楼
ir77 [专家分:570] 发布于 2007-06-01 17:11:00
我以为你说的是jscript,我记得javascript使用之前必须声明变量,刚才查了一下好像不是必须的了。
7 楼
ppsniffer [专家分:460] 发布于 2007-06-07 08:15:00
[quote][quote]1、这段代码难道不是javascript吗?怎么又变成js了?
2、对,这个就是显示错误的函数。
3、你这么一说,我仔细看了一下,却是会把有问题的内容选中高亮。
多谢了。[/quote]
js就是javascript懒得打这么全的时候的缩写,好比vbs,vba,ajax这样的缩写[/quote]
js是js,javascript是javascript。不要搞混了。
补充一下,javascript是netscape的,js是ms的。
比如VBArray对象就是js特有的。
8 楼
ir77 [专家分:570] 发布于 2007-06-07 10:26:00
我看了一些教程,好像js是微软出的一种标准,javascript是一种语言,但是网上很多教程都把这两种混为一谈,比如下面这个教程:
http://www.e76.cn/net/cxsj/5072.html
他上面说是javascript的教程,但是下面说的是js,但是我看到他的实例感觉这就是javascript,现在我是完全搞混了,7楼的朋友能具体解释一下上面那个教程里哪些是js,哪些是javascript呢?
9 楼
ppsniffer [专家分:460] 发布于 2007-06-07 11:21:00
这个问题真不好回答,我也没认识研究过。
说实话、没必要把他们分的太仔细。反正我是理解为jscript在javascript基础上,对一些系统函数、对象。。。调用更强悍点。
ps:一般写javascript代码可以把语言写为jscript,个人感觉jscript对javascript兼容。
10 楼
雪中跑狗 [专家分:230] 发布于 2007-06-11 12:07:00
在我眼里从来js就是只有javascript
jscript=null
jscript是微软对javascript的独家招数,好比"小李飞刀"
javascript是标准,刀就是刀
我来回复