您的位置:1010cc时时彩经典版 > 1010cc时时彩客户端 > 1010cc时时彩经典版:容易让你犯错的九个陷阱,

1010cc时时彩经典版:容易让你犯错的九个陷阱,

发布时间:2019-08-08 10:11编辑:1010cc时时彩客户端浏览(133)

    来源Nine Javascript Gotchas, 以下是JavaScript轻易犯错的八个圈套。即使不是何许很深邃的技艺难点,但注意一下,会让你的编制程序轻松些,即所谓make life easier. 小编对少数陷阱会混杂一些评点。

      来自Nine Javascript Gotchas, 以下是JavaScript轻便犯错的柒个圈套。就算不是何许很深邃的本领难题,但只顾一下,会使您的编制程序轻易些,即所谓make life easier. 作者对少数陷阱会混杂一些评点。

    出自 Nine Javascript Gotchas , 以下是JavaScript轻松犯错的八个骗局。纵然不是何许很深邃的才具难题,但注意一下,会使您的编制程序轻巧些,即所谓make life easier. 作者对一些陷阱会混杂一些评点。

    节点集结 by 司徒正美

    1、最后贰个逗号
    如这段代码,注意最终二个逗号,按语言学角度来讲应该是正确的(python的切近数据类型辞典dictionary就同意那样)。IE会报语法错误,但语焉不详,你不得不用人眼从几千行代码中围观。

      1、聊到底多少个逗号

    1. 最终七个逗号

    司徒正美

    [Ctrl A 全选 注:如需引进外界Js需刷新才具实行]

      如这段代码,注意最终二个逗号,按语言学角度来讲应该是金科玉律的(python的近乎数据类型辞典dictionary就允许那样)。IE会报语法错误,但语焉不详,你不得不用人眼从几千行代码中围观。

    如这段代码,注意最后一个逗号,按语言学角度来讲应该是金科玉律的(python的切近数据类型辞典dictionary就允许那样)。IE会报语法错误,但语焉不详,你只能用人眼从几千行代码中围观。

    司徒正美

    2、this的援引会改动
    如这段代码:

      <script>

    <script>
      var theObj = {
            city : "Boston",
            state : "MA",
      }
    </script>

    司徒正美

    [Ctrl A 全选 注:如需引进外界Js需刷新才能实施]

      var theObj = {

    2. this的引用会改造

    司徒正美

    并不比你所愿,答案并非”JavaScript rules”。在施行MyObject.ClickHandler时,代码中大青这行,this的引用实际上指向的是document.getElementById("theText")的援用。能够这么解决:

      city : "Boston",

    如这段代码:

    司徒正美

    [Ctrl A 全选 注:如需引进外界Js需刷新技艺实践]

      state : "MA",

    <input type="button" value="Gotcha!" id="MyButton" >
    <script>
    var MyObject = function () {
        this.alertMessage = "Javascript rules";
        this.ClickHandler = function() {
            alert(this.alertMessage );
      }
    }();
    document.getElementById(”theText”).onclick =  MyObject.ClickHandler
    </script>

    [Ctrl A 全选 注:如需引进外界Js需刷新技能举办]

    本质上,那正是JavaScript作用域的标题。假使您看过,你会意识化解方案不断一种。

      }

    并不比你所愿,答案并不是”JavaScript rules”。在实践MyObject.ClickHandler时,代码中浅绿那行,this的引用实际上指向的是document.getElementById("theText")的援引。能够那样化解:

    假如预先将nodeList调换为数组就不曾问题!

    3、标记盗贼
    在JavaScript中不要采纳跟HTML的id一样的变量名。如下代码:

      </script>

    <input type="button" value="Gotcha!" id="theText" >
    <script>
    var MyObject = function () {
        var self = this;
        this.alertMessage = “Javascript rules”;
        this.OnClick = function() {
            alert(self.value);
        }
    }();
    document.getElementById(”theText”).onclick =  MyObject.OnClick
    </script>

    复制代码 代码如下:

    [Ctrl A 全选 注:如需引进外界Js需刷新技艺推行]

      2、this的援引会改造

    实为上,这就是JavaScript功用域的主题素材。假如你看过,你会发掘消除方案不断一种。

    window.onload = function(){
    var d = document.createDocumentFragment();
    var div = document.getElementById("aaa");
    var c = div.childNodes;
    var arr = [];
    for(var i=0,n=c.length;i<n;i ){
    arr.push(c[i])
    }
    for(var i=0,n=arr.length;i<n;i ){
    alert(arr[i] " " i)
    d.appendChild(arr[i])
    }
    div.parentNode.replaceChild(d,div)
    }

    IE会报对象未定义的荒谬。笔者只可以说:IE sucks.

      如这段代码:

    3. 标志盗贼

    节点会集 by 司徒正美

    4、字符串只替换第三个极其
    正如代码:

      <input type="button" value="Gotcha!" id="MyButton" >

    在JavaScript中不用选择跟HTML的id同样的变量名。如下代码:

    司徒正美

    [Ctrl A 全选 注:如需引进外界Js需刷新才具实践]

      <script>

    <input type="button" id="TheButton">
    <script>
        TheButton = get("TheButton");
    </script>

    司徒正美

    而实质上,结果是”This_is a title“. 在JavaScript中,String.replace的率先个参数应该是正则表明式。所以,正确的做法是如此:

      var MyObject = function () {

    IE会报对象未定义的谬误。笔者只能说:IE sucks.

    司徒正美

    var fileName = "This is a title".replace(/ /g,"_");

      this.alertMessage = "Javascript rules";

    4. 字符串只替换第一个门道相当

    司徒正美

    5、mouseout不常意味着mousein
    实际,那是出于事件冒泡导致的。IE中有mouseenter和mouseleave,但不是正经的。小编在此提出大家利用库比方YUI来消除难点。

      this.ClickHandler = function() {

    正如代码:

    司徒正美

    本文由1010cc时时彩经典版发布于1010cc时时彩客户端,转载请注明出处:1010cc时时彩经典版:容易让你犯错的九个陷阱,

    关键词: