Re: Two Questions.

Jim Auldridge <[email protected]> Thu, 3 Dec 2009 10:41:20 -0500
Newsgroups gmane.comp.web.dom.wdf
Message-ID <[email protected]>
--fyVOw6ccybcVY5ebINUKWspqDw2nNVwshT0f8LT
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Re. your first question:

The first version does not explicitly declare f before defining it, so if f
already exists in the reach of the scope in which you're writing, it will be
over-written.  However, this version will properly populate the
function.name property:

function f() {};
console.log( f.name );

Results in the string 'f' being output to console.  To avoid scoping
problems if you're not positive whether f exists above your local scope, you
could do this:

var a;
function a() {};
console.log( a.name );


In your second example, the declaration and definition are taking place all
at once, so the previous scope issue wouldn't arise.  However, the
function.name property would be empty.

Jim


On Thu, Dec 3, 2009 at 10:30 AM, Martin Reurings <[email protected]>wrote:

> 1. I think I did know the answer once upon a time, but I can't be sure
> now. I think, personally, there is no difference. When I actually still
> 'assign' a function to anything it's mostly something used internally in
> an object, more along the lines of:
> function a() {
>    this.b = function() {
>    }
> }
> Though, I can't recall the last time I did that, I'm quite comfortable
> using .prototype(that's not the library!) to tie functions to an object.
>
> 2. On a hunch I would say that IE and chrome are using the built-in
> click-events from windows, or at least use the same underlying
> principle: Mouseclick==mousedown+mouseup without moving. Firefox uses a
> different principle: Mouseclick==mousedown+mouseup occurring on the same
> element. Although there's a reasonable chance using a framework might
> solve this for you, I would hazard to say that you should not be
> awaiting a mouseclick, instead react on a mouseup. But then, that's only
> an educated guess, you might have a good reason for waiting on the click
> instead :)
> Oh, and of course this is based on the assumption that you moved your
> mouse between clicks, I sorta recall similar issues from way-back-when I
> was still using a lot of javascripty things :)
>
> Cheers,
>
>  Martin
>
> Srinivasan wrote:
> > Hi,
> >
> > I have two basic questions,
> >
> > 1. what is the difference between
> > function f() {
> >
> > }
> > and
> > var f = function() {
> >
> > }
> >
> > Could anyone explain the advantages, disadvantages.
> >
> > 2. why does the onmouseup. onclick event of a scrollbar (created with two
> DIV elements, and the child element's height value is greater than that of
> parent.) does not fire on IE and chrome. while it fires on firefox. Is there
> any specific reason, those browsers dint provide them? Is there any other
> workaround.
> >
> >
> > Regards,
> > Srini
> >
> >
> >
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
> > ------------------------------------
> >
> > Unsubscribe
> > [email protected]
> >
> > List info
> > http://www.quirksmode.org/dom/list.htmlYahoo! Groups Links
> >
> >
> >
> >
>
>
> ------------------------------------
>
> Unsubscribe
> [email protected]
>
> List info
> http://www.quirksmode.org/dom/list.htmlYahoo! Groups Links
>
>
>
>


-- 
Jim Auldridge
11012 Lincoln Ave
Hagerstown MD 21740
301.582.9050 (h)
240.520.0240 (m)
[email protected]
http://www.jaaulde.com


[Non-text portions of this message have been removed]


--fyVOw6ccybcVY5ebINUKWspqDw2nNVwshT0f8LT
Content-Type: text/html; charset=US-ASCII
Content-Transfer-Encoding: 7bit




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>







<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>Re. your first question:<br>
<br>
The first version does not explicitly declare f before defining it, so if f<br>
already exists in the reach of the scope in which you're writing, it will be<br>
over-written.  However, this version will properly populate the<br>
function.name property:<br>
<br>
function f() {};<br>
console.log( f.name );<br>
<br>
Results in the string 'f' being output to console.  To avoid scoping<br>
problems if you're not positive whether f exists above your local scope, you<br>
could do this:<br>
<br>
var a;<br>
function a() {};<br>
console.log( a.name );<br>
<br>
In your second example, the declaration and definition are taking place all<br>
at once, so the previous scope issue wouldn't arise.  However, the<br>
function.name property would be empty.<br>
<br>
Jim<br>
<br>
On Thu, Dec 3, 2009 at 10:30 AM, Martin Reurings &lt;<a href="mailto:martin%40windgazer.nl">martin@windgazer.<wbr>nl</a>&gt;wrote:<br>
<br>
&gt; 1. I think I did know the answer once upon a time, but I can't be sure<br>
&gt; now. I think, personally, there is no difference. When I actually still<br>
&gt; 'assign' a function to anything it's mostly something used internally in<br>
&gt; an object, more along the lines of:<br>
&gt; function a() {<br>
&gt;    this.b = function() {<br>
&gt;    }<br>
&gt; }<br>
&gt; Though, I can't recall the last time I did that, I'm quite comfortable<br>
&gt; using .prototype(that'<wbr>s not the library!) to tie functions to an object.<br>
&gt;<br>
&gt; 2. On a hunch I would say that IE and chrome are using the built-in<br>
&gt; click-events from windows, or at least use the same underlying<br>
&gt; principle: Mouseclick==<wbr>mousedown&#43;<wbr>mouseup without moving. Firefox uses a<br>
&gt; different principle: Mouseclick==<wbr>mousedown&#43;<wbr>mouseup occurring on the same<br>
&gt; element. Although there's a reasonable chance using a framework might<br>
&gt; solve this for you, I would hazard to say that you should not be<br>
&gt; awaiting a mouseclick, instead react on a mouseup. But then, that's only<br>
&gt; an educated guess, you might have a good reason for waiting on the click<br>
&gt; instead :)<br>
&gt; Oh, and of course this is based on the assumption that you moved your<br>
&gt; mouse between clicks, I sorta recall similar issues from way-back-when I<br>
&gt; was still using a lot of javascripty things :)<br>
&gt;<br>
&gt; Cheers,<br>
&gt;<br>
&gt;  Martin<br>
&gt;<br>
&gt; Srinivasan wrote:<br>
&gt; &gt; Hi,<br>
&gt; &gt;<br>
&gt; &gt; I have two basic questions,<br>
&gt; &gt;<br>
&gt; &gt; 1. what is the difference between<br>
&gt; &gt; function f() {<br>
&gt; &gt;<br>
&gt; &gt; }<br>
&gt; &gt; and<br>
&gt; &gt; var f = function() {<br>
&gt; &gt;<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt; Could anyone explain the advantages, disadvantages.<br>
&gt; &gt;<br>
&gt; &gt; 2. why does the onmouseup. onclick event of a scrollbar (created with two<br>
&gt; DIV elements, and the child element's height value is greater than that of<br>
&gt; parent.) does not fire on IE and chrome. while it fires on firefox. Is there<br>
&gt; any specific reason, those browsers dint provide them? Is there any other<br>
&gt; workaround.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Regards,<br>
&gt; &gt; Srini<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; [Non-text portions of this message have been removed]<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; ------------<wbr>---------<wbr>---------<wbr>------<br>
&gt; &gt;<br>
&gt; &gt; Unsubscribe<br>
&gt; &gt; <a href="mailto:wdf-dom-unsubscribe%40egroups.com">wdf-dom-unsubscribe<wbr>@egroups.<wbr>com</a><br>
&gt; &gt;<br>
&gt; &gt; List info<br>
&gt; &gt; <a href="http://www.quirksmode.org/dom/list.htmlYahoo">http://www.quirksmo<wbr>de.org/dom/<wbr>list.htmlYahoo</a>! Groups Links<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt; ------------<wbr>---------<wbr>---------<wbr>------<br>
&gt;<br>
&gt; Unsubscribe<br>
&gt; <a href="mailto:wdf-dom-unsubscribe%40egroups.com">wdf-dom-unsubscribe<wbr>@egroups.<wbr>com</a><br>
&gt;<br>
&gt; List info<br>
&gt; <a href="http://www.quirksmode.org/dom/list.htmlYahoo">http://www.quirksmo<wbr>de.org/dom/<wbr>list.htmlYahoo</a>! Groups Links<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
-- <br>
Jim Auldridge<br>
11012 Lincoln Ave<br>
Hagerstown MD 21740<br>
301.582.9050 (h)<br>
240.520.0240 (m)<br>
<a href="mailto:auldridgej%40gmail.com">auldridgej@gmail.<wbr>com</a><br>
<a href="http://www.jaaulde.com">http://www.jaaulde.<wbr>com</a><br>
<br>
[Non-text portions of this message have been removed]<br>
<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

        
  
   
    <div id="ygrp-actbar" style="clear: both; margin-bottom: 10px; white-space: nowrap; color: #666; padding-top: 15px;">
      <div>
        <a href="mailto:[email protected]?subject=Re: [wdf-dom] Two Questions.">
          Reply to <span style="font-weight: 700;">sender</span></a>
          | <a href="mailto:[email protected]?subject=Re: [wdf-dom] Two Questions.">
        Reply to <span style="font-weight: 700;">group</span></a>
      </div>

                <a href="http://groups.yahoo.com/group/wdf-dom/message/5643;_ylc=X3oDMTM0c2dyM3M3BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBG1zZ0lkAzU2NDYEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMjU5ODU0OTA5BHRwY0lkAzU2NDM-">Messages in this topic</a>
          (<span style="font-weight: 700;">4</span>)
          </div> 
<!------- Start Nav Bar ------>

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #e0ecee; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
      <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; ">Recent Activity:</span>

    <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
            <li style="border-right: 1px solid #000; font-weight: 700; display: inline; padding: 0 5px; margin-left: 0;">
      <span class="cat"><a href="http://groups.yahoo.com/group/wdf-dom/members;_ylc=X3oDMTJmdHNnbmw3BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyNTk4NTQ5MDk-?o=6" style="text-decoration: none;">New Members</a></span>
      <span class="ct" style="color: #ff7900;">1</span>
    </li>
                                              </ul>
    
  <div style="clear: both; padding-top: 2px; color: #1e66ae;">
    <a href="http://groups.yahoo.com/group/wdf-dom;_ylc=X3oDMTJlczFyYjE5BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTI1OTg1NDkwOQ--" style="border-right: 1px solid #000; padding-right: 5px; margin-right: 2px; text-decoration: none;">Visit Your Group</a>
    <a href="http://groups.yahoo.com/group/wdf-dom/post;_ylc=X3oDMTJlbTRiMXRqBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTI1OTg1NDkwOQ--" style="font-weight: 700; text-decoration: none;">Start a New Topic</a>
  </div>
</div>

        <div id="ygrp-grft" style="font-family: Verdana; font-size: 12px; padding: 15px 0;">
      
<!-- |**|begin egp html banner|**| -->

      Unsubscribe<BR>
[email protected]<BR>
<BR>
List info<BR>
<a href="http://www.quirksmode.org/dom/list.html">http://www.quirksmode.org/dom/list.html</a>      
<!-- |**|end egp html banner|**| -->

    </div>
            <div id="ygrp-mkp" style="border: 1px solid #d8d8d8; clear: both; float: left; font-family: Arial; margin: 5px 0 10px 0; padding: 0 10px;">
      <div id="hd" style="color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0;">MARKETPLACE</div>
      <div id="ads" style="margin-bottom: 10px;">
                  <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
            <p><a href="http://us.ard.yahoo.com/SIG=14k4t3c6l/M=493064.13814333.13821539.13298430/D=groups/S=1705016061:MKP1/Y=YAHOO/EXP=1259862109/L=/B=zqttLkPDhEU-/J=1259854909504122/K=fG_TjL0MdJSZeFEow_OddQ/A=5922843/R=0/SIG=11ckn2mo6/*http://advision.webevents.yahoo.com/green/">Going Green: Your Yahoo! Groups resource for green living</a></p>          </div>
                          <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
                          <hr style="border: 1px solid #d8d8d8;">
                        <p><a href="http://us.ard.yahoo.com/SIG=14km86omo/M=493064.13814537.13821737.10835568/D=groups/S=1705016061:MKP1/Y=YAHOO/EXP=1259862109/L=/B=z6ttLkPDhEU-/J=1259854909504122/K=fG_TjL0MdJSZeFEow_OddQ/A=5898843/R=0/SIG=11kkq36go/*http://advision.webevents.yahoo.com/parentingzone/">Parenting Zone: Find useful resources for a happy, healthy family and home</a></p>           </div>
                      </div>
    </div>
  
<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkZ2U0ZmI0BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjU5ODU0OTA5" style="float: left;"><img src="http://l.yimg.com/a/i/us/yg/logo/us.gif" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;">Switch to: <a href="mailto:[email protected]?subject=Change Delivery Format: Traditional" style="text-decoration: none;">Text-Only</a>, <a href="mailto:[email protected]?subject=Email Delivery: Digest" class="margin-rt" style="text-decoration: none;">Daily Digest</a> &bull; <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="http://docs.yahoo.com/info/terms/" style="text-decoration: none;">Terms of Use</a></div>
</div>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2564563/grpspId=1705016061/msgId=5646/stime=1259854909/nc1=5733765/nc2=5191954/nc3=5689658" width="1" height="1"> <br>

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  a {
    color: #1e66ae;
  }

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }

  #ygrp-mlmsg a {
    color: #1E66AE;
  }

  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--fyVOw6ccybcVY5ebINUKWspqDw2nNVwshT0f8LT--