??xml version="1.0" encoding="utf-8" standalone="yes"?>国产日韩成人亚洲丁香婷婷,亚洲情a成黄在线观看动漫尤物,亚洲欧美日韩中文字幕一区二区三区 http://www.tkk7.com/forgood/category/31999.html从这里出?/description>zh-cnSun, 30 Aug 2009 07:41:17 GMTSun, 30 Aug 2009 07:41:17 GMT60html中的<base>标签http://www.tkk7.com/forgood/archive/2009/08/26/292617.htmlforgoodforgoodWed, 26 Aug 2009 03:12:00 GMThttp://www.tkk7.com/forgood/archive/2009/08/26/292617.htmlhttp://www.tkk7.com/forgood/comments/292617.htmlhttp://www.tkk7.com/forgood/archive/2009/08/26/292617.html#Feedback0http://www.tkk7.com/forgood/comments/commentRss/292617.htmlhttp://www.tkk7.com/forgood/services/trackbacks/292617.html有一ơ编|页的时?把base 标签l删掉了,链接怎么也行不?老是路径不对,原来是base 标签在做?
       <base>标记定义了文档的基础URL地址Q在文档中所有的相对地址形式的URL都是相对于这里定义的URL而言的。一文档中?lt;base>标记不能多于一个,必须放于头部Qƈ且应该在M包含URL地址的语句之前?
      Q?Qhref 属?br />        href属性指定了文档的基URL地址Q该属性在<base>标记中是必须存在的?br /> 例如Q如果希望将文档的基URL定义?#8220;www.abc.com”Q则可以使用如下语句Q?br /> <base href = "www.abc.com"> 当定义了基础URL地址之后Q文档中所有引用的URL地址都从该基URL地址开始,例如Q对于上面的语句Q如果文档中一个超U链接指向gsl/welcome.htmQ则它实际上指向的是如下URL地址Qwww.abc.com/gsl/welcome.htm
       Q?Qtarget
        target属性同框架一起用,它定义了当文档中的链接被点击后,在哪一个框架中展开面。如果文档中链接没有明确指定展开面的目标框枉Q则׃用这里定义的地址代替。常用的target的属性值有Q?br />         _blankQ表明在新窗口中打开链接指向的页面?br />         _selfQ在当前文档的框架中打开面?br />         _parentQ在当前文档的父H口中打开面?br />         _topQ在链接所在的完整H口中展开面?/font>



forgood 2009-08-26 11:12 发表评论
]]>
正则表达式学习资?/title><link>http://www.tkk7.com/forgood/archive/2009/07/19/287355.html</link><dc:creator>forgood</dc:creator><author>forgood</author><pubDate>Sun, 19 Jul 2009 10:03:00 GMT</pubDate><guid>http://www.tkk7.com/forgood/archive/2009/07/19/287355.html</guid><wfw:comment>http://www.tkk7.com/forgood/comments/287355.html</wfw:comment><comments>http://www.tkk7.com/forgood/archive/2009/07/19/287355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/forgood/comments/commentRss/287355.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/forgood/services/trackbacks/287355.html</trackback:ping><description><![CDATA[<p>学习资源Q?br /> </p> <p><a target="_blank">http://www.cnblogs.com/jimmyzhang/archive/2007/10/24/936151.html </a>Q花?-2个小时仔l学习,然后反复实践Q能够很快上手)</p> <p>正则表达式工P<br /> </p> <p>我首推RegexBuddy了。下面这个地址里有RegexBuddy3.2.1完整版的下蝲地址Q如果你仔细览q个|站Q会发现此h是一个正则表辑ּ狂热分子Q:</p> <p><a target="_blank">http://iregex.org/blog/regexbuddy321.html</a></p> <img src ="http://www.tkk7.com/forgood/aggbug/287355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/forgood/" target="_blank">forgood</a> 2009-07-19 18:03 <a href="http://www.tkk7.com/forgood/archive/2009/07/19/287355.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js判断面关闭的方?/title><link>http://www.tkk7.com/forgood/archive/2009/07/06/285722.html</link><dc:creator>forgood</dc:creator><author>forgood</author><pubDate>Mon, 06 Jul 2009 14:17:00 GMT</pubDate><guid>http://www.tkk7.com/forgood/archive/2009/07/06/285722.html</guid><wfw:comment>http://www.tkk7.com/forgood/comments/285722.html</wfw:comment><comments>http://www.tkk7.com/forgood/archive/2009/07/06/285722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/forgood/comments/commentRss/285722.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/forgood/services/trackbacks/285722.html</trackback:ping><description><![CDATA[<p><font style="background-color: #b8fab8">1?lt;script language="javascript"> </font></p> <p><font style="background-color: #b8fab8">window.onbeforeunload = function() </font></p> <p><font style="background-color: #b8fab8">{ </font></p> <p><font style="background-color: #b8fab8"> if(((event.clientX > document.body.clientWidth - 43) && (event.clientY < 23)) || event.altKey) {</font></p> <p><font style="background-color: #b8fab8">  window.event.returnValue = '关闭?;    </font></p> <p><font style="background-color: #b8fab8"> } </font></p> <p><font style="background-color: #b8fab8">}</font></p> <p><font style="background-color: #b8fab8"></script> </font></p> <p><font style="background-color: #b8fab8">2?lt;script language="javascript"> </font></p> <p><font style="background-color: #b8fab8">window.onbeforeunload = function() </font></p> <p><font style="background-color: #b8fab8">{ </font></p> <p><font style="background-color: #b8fab8">var n = window.event.screenX - window.screenLeft; </font></p> <p><font style="background-color: #b8fab8">var b = n > document.documentElement.scrollWidth-20;</font></p> <p><font style="background-color: #b8fab8">if(b && window.event.clientY < 0 || window.event.altKey) </font></p> <p><font style="background-color: #b8fab8">{ </font></p> <p><font style="background-color: #b8fab8">alert("是关闭而非h"); </font></p> <p><font style="background-color: #b8fab8">window.open(this.location);  </font></p> <p><font style="background-color: #b8fab8">//return false;</font></p> <p><font style="background-color: #b8fab8">//window.event.returnValue = ""; }</font></p> <p><font style="background-color: #b8fab8">} </font></p> <p><font style="background-color: #b8fab8"></script></font></p> <p><font style="background-color: #b8fab8"><br /> 本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/ajaxchen_615/archive/2009/07/06/4325917.aspx</font></p> <img src ="http://www.tkk7.com/forgood/aggbug/285722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/forgood/" target="_blank">forgood</a> 2009-07-06 22:17 <a href="http://www.tkk7.com/forgood/archive/2009/07/06/285722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js对象学习W记Q二Q?/title><link>http://www.tkk7.com/forgood/archive/2009/03/26/js.html</link><dc:creator>forgood</dc:creator><author>forgood</author><pubDate>Thu, 26 Mar 2009 06:32:00 GMT</pubDate><guid>http://www.tkk7.com/forgood/archive/2009/03/26/js.html</guid><wfw:comment>http://www.tkk7.com/forgood/comments/262114.html</wfw:comment><comments>http://www.tkk7.com/forgood/archive/2009/03/26/js.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/forgood/comments/commentRss/262114.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/forgood/services/trackbacks/262114.html</trackback:ping><description><![CDATA[<p><strong>1.对象和属?/strong></p> <p>    对象是一U复核数据类型,它们多个数据值几U在一个单元中Q而且允许使用名字来存取这些|卛_象是一个无序的属性集合,q个属性都有自q名字和|存储在对象中的以命名的值可以是数字和字W串q样的原始|也可以是对象?/p> <p><strong>2.对象的创?/strong></p> <p>    对象是由q算Wnew来创建的Q在q个q算W之后必L用于初始化对象的构造函数名?/p> <p>    创徏一个空对象Q即没有属性的对象Q?/p> <p>    var o = new Object();</p> <p>    jsq支持内部构造函敎ͼ它们以另一U简z的方式初始化新创徏的对?/p> <p>    var now = new Date();</p> <p>    var new_year = new Date(2009,09,19);</p> <p><strong>3.属性的讄和查?/strong></p> <p><strong>4.属性的枚D</strong></p> <p>    for/in循环列出的属性ƈ<font color="#ff0000">没有特定序</font>Q而且它只能枚丑և所有用户定义的属性,但是却不能枚丑և那些预定义的属性或Ҏ(gu),q且它可?/p> <p>枚D设ؓundefined的属性,但是它不能列delete删除的属性?/p> <p><strong>5.未定义的属?/strong></p> <p>    如果要读取一个不存在属性的|那么得到的结果是一个特D的js|<font color="#ff0000">undefined</font></p> <p><font color="#ff0000">    <font color="#ff0000">可以使用delete来删除一个对象的属性,注意Q删除一个属性ƈ不仅仅是把该属性设|ؓundefinedQ而是真正从对象中U除了该属性?/font></font></p> <p><strong>6.构造函?/strong></p> <p>    它由newq算W调用,传递给它的是一个新创徏的空对象引用Q将该引用作为关键字this的|而且它还要对新创建的对象q行适当的初始化?/p> <p>    注意Q构造函数如何用它的参数来初始化this关键字所引用的对象的属性,CQ构造函数只是初始化了特定的对象Q但q不q回q个对象?/p> <p>   <font color="#ff0000"> 构造函数通常没有q回|他们只是初始化由thisg递进来的对象Qƈ且什么也不返?.但是Q构造函数可以返回一个对象|如果q样做,被返回的对象成了new表达式的gQ在q种情况下,</font></p> <p><font color="#ff0000">this值所引用的对象就被丢弃了?/font></p> <p><strong>7.Ҏ(gu)</strong></p> <p><font color="#ff0000">   </font><font color="#000000"> Ҏ(gu)有一个非帔R要的属性,卛_Ҏ(gu)M内部Q关键字this的值变成了调用该方法的对象?/font></p> <p>    Ҏ(gu)和函数的区别Q其实他们没有什么技术上的差别,真正的区别存在于设计和目的上Q方法是用来对this对象q行操作的,而函数通常是独立的Qƈ不需要用this对象?/p> <p><strong>8.原型对象和?/strong></p> <p>    js对象?#8220;l承”原型对象的属性,每个对象都有原型对象Q原型对象的所有属性是以它为原型的对象的属性,也就是说Q每个对象都l承原型对象的所有属性,</p> <p>   <font color="#ff0000"> 一个对象的原型是有创徏q初始化该对象的构造函数定义的Qjs中的所有函数都有prototype属性,它引用一个对象,虽然原型对象初始化时是空的,但是你在其中定义的Q何属性都会被构造函数创?/font></p> <p><font color="#ff0000">的所有对象ѝ?/font></p> <p>    构造函数定义了对象的类Qƈ初始化了cM状态变量的属性,因ؓ原型对象和构造函数关联在一P所以类的每个成员都从原型对象承了相同的属性,q说明原型对象是存放Ҏ(gu)和其他常量属性的?/p> <p>惛_所?/p> <p>    l承是在查询一个属性值时自动发生的,属性ƈ非从原型对象赋值到新的对象的,他们只不q看h像是那些对象的属性,有两炚w要的含义Q一是:使用原型对象可以大量减少每个对象对内存的需?/p> <p>量,因ؓ对象可以l承许多属性;而且即属性在对象被创Z后才d属性到它的原型对象中,对象也能够承这些属性?/p> <p>    属性的l承只发生在d性值时Q而在写属性值时不会发生?/p> <p>    因ؓ原型对象的属性被一个类的所有对象共享,所以通常只用他们来定义类中所有对象的相同的属性,q得原型对象适合于方法定义,另外原型对象q适合于具有常量的属性的定义Q?/p> <p><font color="#ff0000">a.原型和内部类</font></p> <p><font color="#ff0000"> 不只是用户定义的cL原型对象Q像内部cd样具有原型对象,也可以给他们赋|</font></p> <p><font color="#ff0000">e.g    String.prototype.endsWith = function(o){</font></p> <p><font color="#ff0000">            return (e == this,charAt(this.length-1));</font></p> <p><font color="#ff0000">        }</font></p> <p><strong>9.面向对象的js</strong></p> <p>    在面向对象的E序设计中,共有的概忉|强类型和支持以类为基的承机ӞҎ(gu)q个评判标准Q就可以证明js不是面向对象语言?/p> <p>    js对象可以h大量的属性,而且q可以动态的这些属性添加到对象中,q是寚w对象c++和java做不到的Q?/p> <p>    虽然js没有cȝ概念Q但是它用构造函数和原型对象模拟了类?/p> <p>    js和以cMؓ基础的面向对象语a中,同一个类可以h多个对象Q对象是它所属的那个cȝ实力Q所以Q何类都可以有多个实例Qjs中的命名延勇了java中的命名U定Q即命名cL以大写字母开_命名对象时以写字母开_cd助我们区分代码中的类和对象?/p> <p><strong>实例属?/strong></p> <p>    每个对象都有它自己单据的实力属性的副本Qؓ了模拟面向对象的E序设计语言Qjs中的实例属性是那些在对象中用构造函数创建的或初始化的属性?/p> <p><strong>实例Ҏ(gu)</strong></p> <p>    实例Ҏ(gu)和实例数据非常的怼Q实例方法是q定对象或实例调用的,实例Ҏ(gu)使用了关键字this来引用他们要操作的对象或实例Q但是和实例属性不同额一Ҏ(gu)每个实例Ҏ(gu)都是q的所有实例共享的Q?font color="#ff0000">在js中,l类定义一个实例方法,是通过把构造函数的原型对象中的一个属性设|ؓ函数值类实现的,q样Q由那个构造函数创建的所有对象都会共享一个以l承的对函数的引用,而且使用上面素数的方法调用语法就能够调用q个函数?/font></p> <p><strong>cd?/strong></p> <p>   cd性是一个与cȝ兌的变量,而不是和cȝ每个实例相关联的变量Q每个类属性只有一个副本,它是通过cd取的Q可以简单的定义了构造函数自w的一个属性来定义cd?/p> <p><strong>cL?/strong></p> <p>    cL法是一个与cd联在一LҎ(gu)Q而不是和cȝ实例兌在一LҎ(gu)Q要调用cL法,必M用类本nQ而不是用类的特定实例。由于类Ҏ(gu)不能通过一个特定对象调用,所以用关键字this对它来说没有意义Q和cd性一PcL法是全局性的Q?/p> <p><strong>类和子c?/strong></p> <p>    面向对象语言中有cdơ的概念Q每个类都有一个超c,他们从超cMl承属性和Ҏ(gu)Q类q可以被扩展Q或者说子类化,q样其他子类pl承它的行ؓQjs中承是以原型ؓ基础的,而不是以cd的承机Ӟ但是我们仍旧能够ȝ出篏世的cdơ图Q在js中,cObject是最通用的类Q其他所有类都是专用化了的版本,或者说的是Object的子c,另一U解释方法是Object是所有内部类的超c,所有类都承了Object的基本方法?/p> <p>   举例说明Q?/p> <p>        cComplex的对象就l承了Complex.prototype对象的属性,而后者又l承了Object.prototype的属性,由此可以推出Q对象Complexl承了两个对象的属性,在Complex对象中查询某个属性时Q首先查询的是这个对象本w,如果在这个对喜爱那个中没有发现要查询的属性,查询Complex.prototype对象Q最后,如果在那个对象中q没有最后按到要查询的属性,查询Object.prototype对象Q注意类层次关系中的属性隐藏。参考P153</p> <p><strong>10.作ؓ兌数组的对?/strong></p> <p>    q算W?#8220;.”cd取一个对象属性,而数l更常用的存取书香运赋是[],下面的两行代码是{h(hun)的:</p> <p>    obj.property   ====== obj["property"],他们的语法区别是Q前者的属性名是标识符Q后者的属性名却是一个字W串Q?/p> <p>    在c、c++、java和其他类似的强类型语a中,一个对象的属性数是固定,而且必须预定义这些属性的名字Q由于js是一U弱cd语言Q它q没有采用这一规则Q所以在用js~写的程序,可以为对象创ZQ意数目的属性,但是当你采用“.”q算W来存取一个对象的属性时Q属性名时是用标识符表示的,而jsE序性中Q标识符必须被逐字的输入,他们不是一U数据类型,因此E序不能对他们进行操作?/p> <p>   <strong> constructor属?/strong></p> <p>        每个对象都有constructor属性,它引用的是用来初始化该对象的构造函数。但是ƈ不是所有的对象都具有自己唯一的constructor属性,相反Q如果这个属性是从原型对象承来的?/p> <p>        js会ؓ我们定义的每一个构造函数都创徏一个原型对象,q且那个对象赋l构造函数的prototype属性?font color="#ff0000">但是之前没有说明原型对象初始时是非空的,在原型对象创Z初,它包括一个constructor属性, 用来引用构造函敎ͼ也就是说Q如果有一个函数fQ那么属性f.prototype.constructorL{于f的?/font></p> <p>        ׃构造函数定义了一个对象的c,所以属性construtor在确定给定对象的cd时是一个功能强大的工具?/p> <p>        q不能保证constructor属性L存在的,例如Q一个类的创可以用一个全新的对象来替换构造函数的原型对象Q而新对象可能不具有有效的constructor属性?/p> <p>        </p> <p><strong>    toString()Ҏ(gu)</strong></p> <p>    <strong>toLocaleString()Ҏ(gu)</strong></p> <p>    <strong>valueOf()Ҏ(gu)</strong></p> <p>        js需要将一个对象{化成字符创之外的原型cdӞp用它Q这个函数返回的是能代表关键字this所引用的对象的值的数据?/p> <p>    <strong>hasOwnProperty()</strong></p> <p>        如果兑现局部定义了一个非l承的属性,属性名是由一个字W串实际参数指定的,那么该方法就q回trueQ否则,它将q回false?/p> <p> <strong>   propertyIsEnumerable()</strong></p> <p>        如果对象定义了一个属性,属性名是由一个字W串实际参数指定的,而且该属性可以用for/in循环枚D出来Q那么该Ҏ(gu)q回trueQ否则返回false?/p> <p>    注意Q该Ҏ(gu)只考虑对象直接定义的属性,而不考虑l承的属性,因ؓq回false可能是因为那个属性是不可枚D的,也可能是因ؓ它虽然是可以枚D的,但却是个l承的属性?/p> <p>    怎么判断一个属性是可枚丄Q?/p> <p>   <strong> isPrototypeOf()</strong></p> <p>     如果调用对象是实际参数指定的对象的原型对象,该方法返回trueQ否则返回falseQ该Ҏ(gu)的用途和对象的constructoe属性相伹{?/p> <p>        </p> <p><strong></strong> </p> <p><strong></strong> </p> <p>                           </p> <p>    </p> <p>   </p> <img src ="http://www.tkk7.com/forgood/aggbug/262114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/forgood/" target="_blank">forgood</a> 2009-03-26 14:32 <a href="http://www.tkk7.com/forgood/archive/2009/03/26/js.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js中的函数学习Q一Q?/title><link>http://www.tkk7.com/forgood/archive/2009/03/21/261186.html</link><dc:creator>forgood</dc:creator><author>forgood</author><pubDate>Sat, 21 Mar 2009 04:45:00 GMT</pubDate><guid>http://www.tkk7.com/forgood/archive/2009/03/21/261186.html</guid><wfw:comment>http://www.tkk7.com/forgood/comments/261186.html</wfw:comment><comments>http://www.tkk7.com/forgood/archive/2009/03/21/261186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/forgood/comments/commentRss/261186.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/forgood/services/trackbacks/261186.html</trackback:ping><description><![CDATA[<p>1.函数</p> <p>    注意Q定义函数时可以使用个数可变的参敎ͼ而且函数既可以有return语句Q也可以没有return语句Q如果函C包含return语句Q它?yu)只执行函数体中的每条语句,然后q回l调用者undefined?/p> <p>    使用q算Wtypeof来检参数的数据cdQ用if(!param)return;来判断是否存在该参数Q因为js是一U无cd语言Q所以你不能l函数的参数制定一个数据类型,而且js也不会检传递的数据是不是那个函数所需要的cdQ如果参数很重要Ӟ׃用前面介l的q算W进行检?/p> <p>    不可变参数js的处理:如果传递的参数比函数需要的个数多,那么多余的几个参数被忽略掉,如果传递的参数比函数需要的个数,那么多余的几个参数就会被赋予undefinedQ在大多数情况下Q这回得函C生错误?/p> <p>2.嵌套函数</p> <p>    aQ函数定义中可以嵌套其他函数的定义,但是只能在在层全局代码和顶层函C码中Q不能出现在循环或条件语句中Qƈ且这些限制只应用于由function语句声明的函敎ͼ函数直接量可以出现在Mjs表达式中?/p> <p>3.Function()构造函?/p> <p>    可以使用Function()构造函数和newq算W动态地定义函数Q?var f = new Function("x","y","return x*y;");它等价于Qfunction f(x,y){return x*y;}</p> <p>    Function构造函数可以接受Q意多个字W串参数Q它的最后一个参数是函数的主体,其中可以包含Mjs语句Q语句之间用分号分隔。由于传递给构造函数Function()的参C没有一个用于说明它要创建的函数名,用Function()构造函数创建的未命名函数有时被UC?#8220;匿名函数”?/p> <p>    Function()函数存在的意义:因ؓFunction()构造函数允许我们动态地建立和编译一个函敎ͼ它不会将我们限制在function语句预编译的函数体中Q另一个原因是它能函数定义ؓjs表达式的一部分Q而不是将其定义ؓ一个语句;~点是:q样做每ơ调用一个函数时QFunction()构造函数都要对它进行编译,</p> <p>4.函数直接?/p> <p>    函数直接量是一个表辑ּQ它可以定义匿名函数?/p> <p>    function f(x){return x*x;}                  //function语句</p> <p>    var f = new Function("x","return x*x;");    //Function()构造函?/p> <p>    var f = function(X){return x*x;};           //函数直接?/p> <p>    虽然函数直接量创建的是未命名函数Q但是它的语法也规定它可以指定函数名Q这在编写调用自w的递归函数时特别的有用Qe.g</p> <p>var f= function fact(x){if(x<=1)return 1; else return x*fact(x-1);}</p> <p>ȝQfunction()函数可以L的用,h通用性,Function()函数和函数直接量h很多的相似性,他们都是未命名函敎ͼ函数直接量可以有函数名,其是在子调用函CQ,函数直接量有个重要的有点Q函数直接量<font color="#ff0000">只被解析和编译一?/font>Q而作为字W串传递给Function()构造函数的js代码则在<font color="#ff0000">每次</font>调用构造函数时只需要被解析和编译一ơ?/p> <p>函数最重要的特性就是他们能够被定义和调用,但是在js中函数ƈ不只是一U语法,q可以是数据Q可以把函数赋给变量、存储在对象的属性中或存储在数组的元素中Q传递给函数。其实函数名q没有什么实际意义,它只是保存函数的变量的名字,可以这个函数赋l其他的变量Q它仍然以相同的方式起作用,</p> <p>e.g    function square(x){x*x;}</p> <p>var a = square(4);</p> <p>var b = square;//q种情况下b引用的函数和square的作用相?/p> <p>var c = b(5);</p> <p>除了赋给全局变量之外Q还可以函数赋l对象的属性,q是U函CؓҎ(gu);也可以赋l数l元素?/p> <p>e.g </p> <p>    var a =  new Object;     var a = new Object();</p> <p>    a.square = new Function("x","return x*x";);</p> <p>    y = o.square(16);</p> <p>e.g    </p> <p>    var a = new Array(3);</p> <p>    a[0] = function(x){return x*x;};</p> <p>    a[1] = 20;</p> <p>    a[2] = a[0](a[1]);</p> <p>    除这些之外,如何函C为参C递给其他函数Q?/p> <p>e.g </p> <p>function  add(x,y){return x+y;}</p> <p>function subtract(x,y){return x-y;}</p> <p>function multiply(x,y){return x*y;}</p> <p>function dibide(x,y){return x/y;}</p> <p>function operate(operator,operand1,operand2){</p> <p>    return operator(operand1,operand2);</p> <p>}</p> <p>var i = operate(add,operate(add,2,3),operate(multiply,4,5));</p> <p>var operators = new Object();</p> <p>operators["add"] = function(x,y){return x+y;}</p> <p>operators["multiply"] = function(x,y){return x*y;}</p> <p>operators["divide"] = function(x,y){return x/y;}</p> <p>operators["pow"] = Math.pow;</p> <p>function operate2(op_name,operand1,operand2){</p> <p>    if(operators[op_name] == null)return "unknow operator";</p> <p>    else    return operators[op_name](operand1,operand2);</p> <p>}</p> <p>var j = operate2('add',"hello",operate2("add","","world"));</p> <p>var k = operate2('pow',10,2);</p> <p>5.函数的作用域Q调用对?/p> <p>    函数的作用域中除了全局变量、函数内部的局部变量和形式参数外,函数q定义了一个特D属性,</p> <p>    <font color="#ff0000">arguments</font>Q这个属性应用了另外一个特D的对象<font color="#ff0000">-----Arguments对象Q?/font><font color="#000000">因ؓarguments属性是调用对象的一个属性,所以它的状态和局部变量以及函数的形式参数是相同的?/font></p> <p>    所以arguments标识W被看做是保留字Q不能将它作为变量名或Ş式参数名?/p> <p>6.Arguments对象</p> <p>    arguments它具有特D的意义Q是调用对象的一个特D属性,用来引用Arguments对象QArguments对象像数组Q可以按照数字获取传递给函数的参数|但是它ƈ非真正的Array对象?/p> <p>    argumentshlength属性,</p> <p>    可以使用arguments来检调用函C用了正确数目的实际参敎ͼ</p> <p>注意Qargumentsq真正的数l,它是一个Arguments对象QArguments对象有一个非同寻常的特征Q当函数h命名了的参数ӞArguments对象的数l元素是存放函数参数的局部变量的同义词?/p> <p>e.g  </p> <p>  function(x){</p> <p>    alert(x);  //昄参数的初始?/p> <p>    arguments[0] = null;//改变数组预算也会改变x</p> <p>    alert(x);  //现在昄?#8220;null”</p> <p>除了数组元素QArguments对象q定义了callee属性,用来引用当前正在执行的函敎ͼq对未命名的函数调用自n非常有用?/p> <p>e.g</p> <p> function(x){</p> <p>    if(x<-1)return 1;</p> <p>    return x*arguments.callee(x-1);</p> <p>}</p> <p>7.函数的属性和Ҏ(gu)</p> <p>    ׃函数是对象,所以它h数据和方法?/p> <p>函数的length属?/p> <p>    函数的属性length和arguments属性的length不同Qarguments数组的length属性指定了<font color="#ff0000">传递给</font>该函数的实际参数数目Qƈ?font color="#ff0000">arguments属性的length只在函数内部起作?/font>Q而函数自w的length属性它是只ȝQ返回的?font color="#ff0000">函数需要的实际参数</font>的数目,q且<font color="#ff0000">函数的属性length函数体的内部和外部都在是有效?/font>?/p> <p>函数的prototype属?/p> <p>    每个函数都有一个prototype属性,它引用的是预定义的原型对象,原型对象在用newq算W把函数作ؓ构造函数时起作用?/p> <p>函数自定义属?/p> <p>    有时候定义全局变量比较乱,可以通过自定义函数属性来解决</p> <p>函数的apply()和call()Ҏ(gu)</p> <h1>    他们的第一个参数都是要调用的函数的对象Q在函数体内q一参数是关键字this的|call()的剩余参数是传递给要调用的函数的|apply()的剩余参数是由数l指定的参数?/h1> <img src ="http://www.tkk7.com/forgood/aggbug/261186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/forgood/" target="_blank">forgood</a> 2009-03-21 12:45 <a href="http://www.tkk7.com/forgood/archive/2009/03/21/261186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>文档树doc的介l?/title><link>http://www.tkk7.com/forgood/archive/2008/08/15/222210.html</link><dc:creator>forgood</dc:creator><author>forgood</author><pubDate>Fri, 15 Aug 2008 04:47:00 GMT</pubDate><guid>http://www.tkk7.com/forgood/archive/2008/08/15/222210.html</guid><wfw:comment>http://www.tkk7.com/forgood/comments/222210.html</wfw:comment><comments>http://www.tkk7.com/forgood/archive/2008/08/15/222210.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/forgood/comments/commentRss/222210.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/forgood/services/trackbacks/222210.html</trackback:ping><description><![CDATA[<table class="pageLighter" cellspacing="11" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="content"> <p>先来看一张简单的文档?br /> <a class="page" target="_blank"><img alt="click for full size" src="http://www.98xj1.com/dom/img/nodes1.gif" border="0" /></a><br /> 很明显树的顶层节Ҏ(gu)NodeA节点,接下来可以通过指定的合适节点移动到树中的Q何点,l合以下的代码你可以更好的了解这|节点间的怺关系:<br /> NodeA.firstChild = NodeA1 <br /> NodeA.lastChild = NodeA3 <br /> NodeA.childNodes.length = 3 <br /> NodeA.childNodesQ?Q?= NodeA1 <br /> NodeA.childNodesQ?Q?= NodeA2 <br /> NodeA.childNodesQ?Q?= NodeA3 <br /> NodeA1.parentNode = NodeA <br /> NodeA1.nextSibling = NodeA2 <br /> NodeA3.prevSibling = NodeA2 <br /> NodeA3.nextSibling = null <br /> NodeA.lastChild.firstChild = NodeA3a <br /> NodeA3b.parentNode.parentNode = NodeA<br /> <br /> DOM定义Ҏ(gu)作一个文档对象的节点l构提供了实用的Ҏ(gu),它提供了像执行对象插?更新,删除,克隆{这些常用的Ҏ(gu)?br /> insertBefore()--在参考子节点之前插入一个新的子节点.如果参考的子节点ؓnull,则新的子节点作用节点的最后一个子节点插入?br /> replaceChild()--在childNodes集合U用指定的newChild来代替oldChild;如果代替成功,则返回oldChild;如果newChild是null,则只需删除oldChild卛_?br /> removeChild()--从节点的ChildNodes集合中删除removeChild指定的节?如果删除成功,则返回删除的子节炏V?br /> appendChild()--d一个新节点到childNodes集合的末?如果成功,则返回新节点?br /> cloneNode()--创徏一个新的、复制的节点,q且如果传入的参数是true?q将复制子节?如果节点是一个元?那么q将复制相应属?q回新的节点?br /> <br /> Z在一|档树中访问或者徏立一个新的节?可以用下面这些方?<br /> getElementById()<br /> getElementsByTagName()<br /> createElement()<br /> createAttribute()<br /> createTextNode()<br /> 注意:在一个页面中只有一个文档对?除了getElementsByTagName()?其它Ҏ(gu)均只能通过document.methodName()调用?br /> <br /> 再看一下下面这个例?<br /> <html><br /> <head><br /> <title></title><br /> </head><br /> <body><br /> <p>This is a sample paragraph.</p><br /> <SCRIPT LANGUAGE="JavaScript"><br /> <!--<br /> alert(document.documentElement.lastChild.firstChild.tagName);<br /> //--><br /> </SCRIPT><br /> </body><br /> </html><br /> l果会昄"P",下面是一些解?br /> document.documentElement - gives the page's HTML tag. <br /> lastChild - gives the BODY tag. <br /> firstChild - gives the first element in the BODY. <br /> tagName - gives that element's tag name, "P" in this case.<br /> 另一?<br /> <html><br /> <head><br /> <title></title><br /> </head><br /> <body><br /> <br /> <p>This is a sample paragraph.</p><br /> <SCRIPT LANGUAGE="JavaScript"><br /> <!--<br /> alert(document.documentElement.lastChild.firstChild.tagName);<br /> //--><br /> </SCRIPT><br /> </body><br /> </html><br /> q个例子和上面ƈ没有什么大的区?仅仅是多了一个空?但是在NS?会自动ؓI加上一个节Ҏ(gu)以返回值是"undefined",而在IE中将跌I仍然指向P标签?br /> <br /> 更常用的Ҏ(gu):<br /> <p id="myParagraph">This is a sample paragraph.</p><br /> ...<br /> alert(document.getElementById("myParagraph").tagName);<br /> q种Ҏ(gu)你不用关心节点在文档树的哪一个地?而只要保证在面中它的IDh唯一的就可以了?br /> <br /> 接下来一U访问元素节点的Ҏ(gu)是document.getElementsByTagName(),它的q回值是一个数l?例如你可以通过下面的例子改变整个页面的q接Q?br /> var nodeList = document.getElementsByTagName("A");<br /> for (var i = 0; i < nodeList.length; i++)<br /> nodeList[i].style.color = "#ff0000";<br /> <br /> attribute和attributes<br /> attribute对象和元素相?但是却没有被认ؓ是文档树的一部分,因此属性不能作为子节点集合的一部分来用?br /> 有三U方法可以ؓ元素建立新的属?br /> 1.<br /> var attr = document.createAttribute("myAttribute");<br /> attr.value = "myValue";<br /> var el = document.getElementById("myParagraph");<br /> el.setAttributeNode(attr);<br /> 2.<br /> var el = document.getElementById("myParagraph");<br /> el.setAttribute("myAttribute", "myValue");<br /> 3.<br /> var el = document.getElementById("myParagraph");<br /> el.myAttribute = "myValue";<br /> 你可以在html标签U定义自q属?<br /> <p id="myParagraph" myAttribute="myValue">This is a sample paragraph.</p><br /> ...<br /> alert(document.getElementById("myParagraph").getAttribute("myAttribute"));<br /> q回值将?myValue".但是h意这里必M用getAttribute,而不是AttributeName,因ؓ有一些浏览器q不支持自定义属性?br /> <br /> attributes也可以被L的从一个元素中删除,你可以用removeAttribute()或者将element.attributeName指向一个null倹{?br /> 通过attributes我们可以生一些动态效果:<br /> <p id="sample1" align="left">Text in a paragraph element.</p><br /> ... code for the links ...<br /> document.getElementById('sample1').setAttribute('align', 'left');<br /> document.getElementById('sample1').setAttribute('align', 'right');<br /> 另一U?<br /> <p id="sample2" style="text-align:left;">Text in a paragraph<br /> element.</p><br /> ... code for the links ...<br /> document.getElementById('sample2').style.textAlign = 'left';<br /> document.getElementById('sample2').style.textAlign = 'right';<br /> 跟上面的例子一?展示了可用通过元素修改style中的属?甚至是class中的.唯一要提到的是textAlign是从style中的text-align中演变而来?有一条基本规?是style中的属性如果出?则在dom中将会被Lq且随后的一个字母将改ؓ大写,q有一点就是如果即使元素中没有style属?上述例子同样可以使用?br /> <br /> text nodes:<br /> 先看一下例子:<br /> <p id="sample1">This is the initial text.</p><br /> ... code for the links ...<br /> document.getElementById('sample1').firstChild.nodeValue =<br /> 'Once upon a time...';<br /> document.getElementById('sample1').firstChild.nodeValue =<br /> '...in a galaxy far, far away';<br /> 首先text nodesq没有像elements那样hid属?所有它q不能直接通过document.getElementById()或者document.getElementsByTagName()讉K<br /> 看一下下面的l构也许会更明白一些:<br /> <a class="page" target="_blank"><img alt="click for full size" src="http://www.98xj1.com/dom/img/nodes2.gif" border="0" /></a><br /> 可以看出通过document.getElementById('sample1').firstChild.nodeValue可以读取或者设|text nodes的g?br /> <br /> 另一个更加复杂一点的例子Q?br /> <p id="sample2">This is the <b>initial</b> text.</p><br /> 它的文档l构<br /> <a class="page" target="_blank"><img alt="click for full size" src="http://www.98xj1.com/dom/img/nodes3.gif" border="0" /></a><br /> 在这里通过document.getElementById('sample1').firstChild.nodeValue讲仅仅改?This is the"<br /> ?strong>initial</strong> text.不会改?在这里大家应该看C它和innerHTML的不同了.当然你也可以q样用:<br /> document.getElementById('sample3').firstChild.nodeValue =<br /> '<b>Once</b> upon a time...';<br /> document.getElementById('sample3').firstChild.nodeValue =<br /> '...in a galaxy <i>far, far</i> away';<br /> 其中的html代码不会被解释,览器将把他们当成普通的文本来显C?br /> <br /> 创徏和删除text nodes:<br /> var myTextNode = document.createTextNode("my text");<br /> 通过上面的代码你可以创徏一个新的text node,但是它ƈ不是文档树的一部分,要让它显C在面上就必须让它成ؓ文档树中某一个节点的child,因ؓ<br /> text nodes不能有儿?所以你不能它加入C个text nodes?attribute也不属于文档树的一部分,q条路也不行,现在只剩下elements nodes<br /> ?以下的例子展CZ如何d和删除一个text nodeQ?br /> <p id="sample1">Initial text within a paragraph element.</p><br /> ... code to add a text node ...<br /> var text = document.createTextNode(" new text " + (++counter1));<br /> var el = document.getElementById("sample1");<br /> el.appendChild(text);<br /> ... code to remove the last child node ...<br /> var el = document.getElementById("sample1");<br /> if (el.hasChildNodes())<br /> el.removeChild(el.lastChild);<br /> 增加文本是很Ҏ(gu)?上面的代码徏立了一个新的text nodeq且通过appendChild()Ҏ(gu)其加入到childNodes数组的末?q设|了一个counter1的全局变量,利于观察<br /> hasChildNodes()的返回值是true or false;用来判断当前节点是否q有child,以阻止当其没有child的时候调用removeChild()产生的错误?br /> <br /> 创徏element nodes<br /> 有了上面的基,应该更容易理解了,先看一下下面的代码<br /> <div id="sample1">This text is in a DIV element.</div><br /> ... code for the link ...<br /> var paraEl, boldEl;<br /> paraEl = document.createElement("p");<br /> boldEl = document.createElement("b");<br /> paraEl.appendChild(document.createTextNode("This is a new paragraph with "));<br /> boldEl.appendChild(document.createTextNode("bold"));<br /> paraEl.appendChild(boldEl);<br /> paraEl.appendChild(document.createTextNode(" text added to the DIV"));<br /> document.getElementById("sample1").appendChild(paraEl);<br /> 你还可以直接为新加的element nodes讄attribute,以下两种都可?<br /> boldEl.style.color = "#ffff00";<br /> paraEl.appendChild(boldEl);<br /> 或?<br /> paraEl.appendChild(boldEl);<br /> boldEl.style.color = "#ffff00";</p> </td> </tr> </tbody> </table> <img src ="http://www.tkk7.com/forgood/aggbug/222210.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/forgood/" target="_blank">forgood</a> 2008-08-15 12:47 <a href="http://www.tkk7.com/forgood/archive/2008/08/15/222210.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://bwgdbjb.com" target="_blank">컶ëƬ</a>| <a href="http://www-ttyx.com" target="_blank">ϵйƷƷ˿</a>| <a href="http://avqq222.com" target="_blank">þƵ</a>| <a href="http://99rlcf.com" target="_blank">av벻</a>| <a href="http://txa6.com" target="_blank">ҹһëƬ</a>| <a href="http://szclinic.com" target="_blank">㽶Ƶ</a>| <a href="http://78555yy.com" target="_blank">a߹ۿ</a>| <a href="http://nn227.com" target="_blank">ҹƵ</a>| <a href="http://wwwyy763.com" target="_blank">wwwѸƵ</a>| <a href="http://123994.com" target="_blank">ѹۿ</a>| <a href="http://kph37.com" target="_blank">Ʒmnbavվ </a>| <a href="http://szzdjl.com" target="_blank">AVɫ㽶һ</a>| <a href="http://zgbeian.com" target="_blank">۲ӰԺѹۿ</a>| <a href="http://52xbjs.com" target="_blank">òֻƵ</a>| <a href="http://vinsotec.com" target="_blank">Ʒһ߹ۿ</a>| <a href="http://fsweicheng.com" target="_blank">޾þþþþ</a>| <a href="http://holdengong.com" target="_blank">hƵ߹ۿ</a>| <a href="http://okgou58.com" target="_blank">aëƬȫ</a>| <a href="http://yijiazhiwei.com" target="_blank">һ234վ</a>| <a href="http://sxwlhg.com" target="_blank">޾ƷA߹ۿ</a>| <a href="http://179228.com" target="_blank">ëƬƵվۿ</a>| <a href="http://mcjc1.com" target="_blank">һ</a>| <a href="http://2255325.com" target="_blank">δav</a>| <a href="http://3344088.com" target="_blank">޻ɫվ</a>| <a href="http://bjgelinhotel.com" target="_blank">Ůʮ·츾</a>| <a href="http://tiantangapp.com" target="_blank">þۺAVѹۿ</a>| <a href="http://777cc55.com" target="_blank">þùӾƷŮ</a>| <a href="http://wangdei.com" target="_blank">Ůžžվֻ</a>| <a href="http://616kb.com" target="_blank">һëƬۿ</a>| <a href="http://by33321.com" target="_blank">޹Ѽһ</a>| <a href="http://600c28.com" target="_blank">?v˿߹ۿ </a>| <a href="http://8654123.com" target="_blank">avһ߹ۿ</a>| <a href="http://bovch.com" target="_blank">91Ʒѹ</a>| <a href="http://3bmmatv.com" target="_blank">XXX2߹ۿƵ</a>| <a href="http://172pk.com" target="_blank">޹AVվ</a>| <a href="http://www-175345.com" target="_blank">AVۺɫ͵</a>| <a href="http://ai-xian.com" target="_blank">޹˾þۺ3d</a>| <a href="http://www827556.com" target="_blank">޹˾Ʒþþùһ </a>| <a href="http://6777s.com" target="_blank">޾ƷƵ</a>| <a href="http://93qsgy.com" target="_blank">ʵŹ</a>| <a href="http://d3q4.com" target="_blank">³˿Ƭһۿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>