There's something about a food that moves all by itself that gives me the heebie-jeebies.

Joyce ,'Never Leave Me'


Buffistechnology 3: "Press Some Buttons, See What Happens."

Got a question about technology? Ask it here. Discussion of hardware, software, TiVos, multi-region DVDs, Windows, Macs, LINUX, hand-helds, iPods, anything tech related. Better than any helpdesk!


Rob - Oct 17, 2012 1:23:02 pm PDT #21240 of 25501

I end up paying Google for Postini. I haven't found anything else works as well.


Typo Boy - Oct 17, 2012 1:25:31 pm PDT #21241 of 25501
Calli: My people have a saying. A man who trusts can never be betrayed, only mistaken.Avon: Life expectancy among your people must be extremely short.

For most purposes Google has great spam filters. Though they failed for ita !'s photo sight cause she gets legit mail with words like "naked" and "hot" in them. I wonder if Google is missing a niche market by not selling a tweaked version of their spam filter as a service to people who run sites where you might need need exceptions to the standard filter.


Liese S. - Oct 17, 2012 6:56:17 pm PDT #21242 of 25501
"Faded like the lilac, he thought."

Yeah, I might need to pay for Postini.

I'm also getting a ton of spam to my donations address. Whereas the dirty address that I use deliberately to fill in web forms? Totally clean. IDEK.


tommyrot - Oct 18, 2012 10:21:54 am PDT #21243 of 25501
Sir, it's not an offence to let your cat eat your bacon. Okay? And we don't arrest cats, I'm very sorry.

So Douglas Crockford, author of JavaScript: The Good Parts and creator of the JSLint site says "Do not use String as a constructor."

IOW, don't do this:

strObj = new String("puppies!");

(strObj becomes a string object in this example.)

But AFAIK this is not a universal opinion. I'm still trying to understand why Crockford says this.

Any thoughts/opinions?

eta:

He says:

Do not use new Number, new String, or new Boolean. These forms produce unnecessary object wrappers. Just use simple literals instead.

[link]

Oh. But sometimes I need a string object.


Rob - Oct 18, 2012 10:35:24 am PDT #21244 of 25501

I agree with Crockford. The JavaScript virtual machine is responsible for making string literals behave exactly like a string object constructed with new. I can't think of any case where you would need to use new String(). Where do you find you need to?


tommyrot - Oct 18, 2012 10:48:28 am PDT #21245 of 25501
Sir, it's not an offence to let your cat eat your bacon. Okay? And we don't arrest cats, I'm very sorry.

So

strObj = new String("puppies!");

will produce the same object as

strObj = {"puppies!"};

?

Mostly I learned Javascript by editing code that our consultant developers wrote. Now I'm trying to actually understand what's going on.


tommyrot - Oct 18, 2012 11:08:51 am PDT #21246 of 25501
Sir, it's not an offence to let your cat eat your bacon. Okay? And we don't arrest cats, I'm very sorry.

OK, my previous post was wrong.

This application just has a shitload of String objects, which we need for the String methods. So how do I get a String object without using 'new String()'?


Rob - Oct 18, 2012 11:20:55 am PDT #21247 of 25501

A string literal gets automatically converted to a string object whenever you call a method on it.

This page [link] has a good description of what happens.

If you haven't already, read Crockford's book JavaScript: The Good Parts. JavaScript is a elegant little language that is quite easy to understand but has a few "bad parts" and is often tarred with the foul bush that is the browser document object model.


tommyrot - Oct 18, 2012 11:25:53 am PDT #21248 of 25501
Sir, it's not an offence to let your cat eat your bacon. Okay? And we don't arrest cats, I'm very sorry.

A string literal gets automatically converted to a string object whenever you call a method on it.

Heh. I just figured that out a minute ago!

Dunno why our consultants used 'new String()'.

read Crockford's book JavaScript: The Good Parts.

I've read parts of it. It's what made me realize I didn't really understand JavaScript that well.

Thanks.


Rob - Oct 18, 2012 11:35:39 am PDT #21249 of 25501

I'd guess that early browsers didn't handle string literals correctly.