回 帖 发 新 帖 刷新版面

主题:javascript的几个问题

有一段程序:
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"> &nbsp; ' + 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个回复)

沙发

$(ton)

$写法是js里一种鲜为人知的写法

$() 是prototype 提供的一个函数,用来通过id获取dom元素

这里相对于

ton = obj.id.substr(5, obj.id.length)

$(ton)=document.getElmentById(ton);

估计ton是一个selects组件(下拉列表)

板凳

1楼的朋友仍然没有回答我的问题,ton如果是变量,怎么没有定义过?而且没有提示错误??
而且selects应该不是下拉列表,因为代码里面根本没有任何相关的下拉列表。
最好能够直接回答我帖子里的三个问题,谢谢了。

3 楼

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"> &nbsp; ' + 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 楼

1、这段代码难道不是javascript吗?怎么又变成js了?

2、对,这个就是显示错误的函数。

3、你这么一说,我仔细看了一下,却是会把有问题的内容选中高亮。

多谢了。

5 楼

[quote]1、这段代码难道不是javascript吗?怎么又变成js了?

2、对,这个就是显示错误的函数。

3、你这么一说,我仔细看了一下,却是会把有问题的内容选中高亮。

多谢了。[/quote]

js就是javascript懒得打这么全的时候的缩写,好比vbs,vba,ajax这样的缩写

6 楼

我以为你说的是jscript,我记得javascript使用之前必须声明变量,刚才查了一下好像不是必须的了。

7 楼

[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 楼

我看了一些教程,好像js是微软出的一种标准,javascript是一种语言,但是网上很多教程都把这两种混为一谈,比如下面这个教程:
http://www.e76.cn/net/cxsj/5072.html
他上面说是javascript的教程,但是下面说的是js,但是我看到他的实例感觉这就是javascript,现在我是完全搞混了,7楼的朋友能具体解释一下上面那个教程里哪些是js,哪些是javascript呢?

9 楼

这个问题真不好回答,我也没认识研究过。
说实话、没必要把他们分的太仔细。反正我是理解为jscript在javascript基础上,对一些系统函数、对象。。。调用更强悍点。

ps:一般写javascript代码可以把语言写为jscript,个人感觉jscript对javascript兼容。

10 楼

在我眼里从来js就是只有javascript
jscript=null

jscript是微软对javascript的独家招数,好比"小李飞刀"
javascript是标准,刀就是刀

我来回复

您尚未登录,请登录后再回复。点此登录或注册