JavaScript and JScript....?

T

the DtTvB

I heard it is not the same.
The lastest version of JavaScript is 1.6 while lastest version of
JScript is 8.0
I also heard a little bit about ECMAScript, but I still don't know
what's the difference of them.
So, what's exactly the difference of it?
 
R

Randy Webb

the DtTvB said the following on 5/29/2006 7:27 PM:
I heard it is not the same.

What is not the same?
The lastest version of JavaScript is 1.6 while lastest version of
JScript is 8.0

JScript is at 8.0 now? I must catch up.....
I also heard a little bit about ECMAScript, but I still don't know
what's the difference of them.
So, what's exactly the difference of it?

The name mostly. And who maintains the documentation.

Javascript - Netscapes rendition adopted by other browsers.
JScript - IE's rendition.
ECMAScript - an attempt to try to standardize the language by a group
that has nothing to do with anything to do with the language other than
trying to attempt to standardize it so there is a standard for it.

Javascript is also a generic term used to refer to client side scripting.
 
T

Thomas 'PointedEars' Lahn

the said:
[...] lastest version of JScript is 8.0

Really? I thought it is 7.0 (JScript.NET, only server-side AFAIK). Could
you tell about the JScript execution environment you are using (Server or
User-Agent header would probably suffice)?
I also heard a little bit about ECMAScript, but I still don't know
what's the difference of them.
So, what's exactly the difference of it?

<URL:http://jibbering.com/faq/#FAQ2_6>
<URL:http://pointedears.de/es-matrix>


PointedEars
 
T

the DtTvB

Really? I thought it is 7.0 (JScript.NET, only server-side AFAIK). Could
you tell about the JScript execution environment you are using (Server or
User-Agent header would probably suffice)?

I don't use JScript, that's why I asked.
 
R

Randy Webb

the DtTvB said the following on 5/30/2006 6:02 AM:
I don't use JScript, that's why I asked.

JScript on the client is at 6.0, on the server is 7.0.

Further, ECMAScript is a theory about how things should be rather than a
reflection of how things really are.
 
J

John G Harris

Further, ECMAScript is a theory about how things should be rather than
a reflection of how things really are.

Why do you say this? It isn't true.

Do you say that the ECMA standard for C# is also "a theory about how
things should be rather than a reflection of how things really are"?

John
 
R

Randy Webb

John G Harris said the following on 5/30/2006 3:46 PM:
Why do you say this?

Because it is.
It isn't true.

It isn't? Can you tell me where to find the specification for innerHTML
in the ECMA documentation?

If you can, then my statement is false.
If you can't, then my statement is true.

..innerHTML is very very widely supported yet you won't find it in the
ECMAScript documentation. That alone prevents ECMAScript from being a
reflection of reality and more a theory of how it should be.

Do you say that the ECMA standard for C# is also "a theory about how
things should be rather than a reflection of how things really are"?

I said nothing about ECMA's standard for C# or any other language other
than ECMAScript.
 
T

Thomas 'PointedEars' Lahn

Randy said:
John G Harris said the following on 5/30/2006 3:46 PM:
[...] Randy Webb [...] writes
Further, ECMAScript is a theory about how things should be rather than
a reflection of how things really are.

Why do you say this?

Because it is.
It isn't true.

It isn't? Can you tell me where to find the specification for innerHTML
in the ECMA documentation?

If you can, then my statement is false.
If you can't, then my statement is true.

No, your logic is flawed.
.innerHTML is very very widely supported yet you won't find it in the
ECMAScript documentation. That alone prevents ECMAScript from being a
reflection of reality and more a theory of how it should be.

ISTM you have yet to understand the basic difference between native
objects and host objects, among many other basic things about Web
development.

You will find no native object (all of them are defined in ECMAScript) to
have a built-in `innerHTML' property; element objects (that can have this
property built-in, depending on the DOM) are host objects, not native
objects. In fact, element objects are provided by the Document Object
Model of the host environment (here: HTML UA), and as such may have other
properties that are not defined in any standard. (Where the corresponding
Web standard here is not ECMA-262, but the W3C DOM, particularly W3C DOM
Level 2 HTML.)

On the other hand, in ECMAScript implementations you will find the Global
Object to have host-defined properties, such as `window'. Those are of
course not defined in the ECMAScript Specification explicitly. However,
ECMAScript allows the Global Object explicitly to have such properties.
Furthermore, known implementation-specific deviations from the
Specification are backed up by the Specification's own Conformance section.

Probably someone has explained all of this (to you) here before.


PointedEars
 
L

Lasse Reichstein Nielsen

Randy Webb said:
John G Harris said the following on 5/30/2006 3:46 PM:

It isn't? Can you tell me where to find the specification for
innerHTML in the ECMA documentation?

Nowhere. Like there is no specification for the path of the Earth
around the sun or the notes of a symphony by Mozart. Neither is
relevant to the specification of ECMAScript, but all exist
as "things really are".

No specification specifies everything. What matters is how they
match how things really are *within their scope*
If you can, then my statement is false.
If you can't, then my statement is true.

Ah, the Chewbacca defense :)

.innerHTML is very very widely supported yet you won't find it in the
ECMAScript documentation.

Why would you even look there, and not in the much more likely W3C
DOM Specification?
That alone prevents ECMAScript from being a reflection of reality
and more a theory of how it should be.

That argument would prevent any specification from being a reflection
of reality.
I said nothing about ECMA's standard for C# or any other language
other than ECMAScript.

But the C# standard doesn't say anything about Java either!
/L
 
J

John G Harris

Randy Webb said:
John G Harris said the following on 5/30/2006 3:46 PM:

Because it is.


It isn't? Can you tell me where to find the specification for innerHTML
in the ECMA documentation?

Gigadollar corporations want to be able to use javascript in
applications that are nothing to do with HTML. The Windows Scripting
Host is an obvious example. As a result the specifications of innerHTML
and file access objects have been split off into other documents.

This follows the well known software engineering principle of separation
of concerns, a lot like good OO design in fact.
If you can, then my statement is false.
If you can't, then my statement is true.

Your statement is neither. Putting innerHTML in a separate document is
not a theory - it's very practical - but it is a reflection of reality -
it doesn't exist in some javascript environments.
.innerHTML is very very widely supported yet you won't find it in the
ECMAScript documentation. That alone prevents ECMAScript from being a
reflection of reality and more a theory of how it should be.
<snip>

WSH is also widely supported; in every Win XP for a start.

John
 
W

Warren Sarle

I heard it is not the same.

Every variety of Javascript has its own bugs and peculiarities.
For example, in JScript, variables created by a var statement
in global scope are not enumerable properties of the window object.
This can be a nuisance if you are trying to use an object browser
in Internet Explorer. Try the following in IE, Netscape, Opera, etc.
and you'll see a lot of differences:

<html>
<body>
<p>Hello, world</p>
<script>
var apple=123;
document.write('<p>apple='+apple+'</p>\n');
document.write('<p>window.apple='+window.apple+'</p>\n');
var banana='yellow';
var msg=[];
for (var property in window) {
try {
msg.push(property+'='+String(window[property]));
}
catch(e) {
msg.push(property+' - exception: '+String(e));
}
}
document.write('<p>window properties:<ul>\n<li>\n'+
msg.join('</li>\n<li>')+
'</li>\n</ul></p>');
</script>
</body>
</html>

If you change "var apple=123;" to "window.apple=123;", then "apple"
will show up as a property of window on IE.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,175
Latest member
Vinay Kumar_ Nevatia
Top