zoukankan      html  css  js  c++  java
  • js简直了,连大小都不能直接比,还变量提升,这个是挖了多少坑啊,故意的把,,,,写起来又不简单,运行起来又不是很稳,很迷啊

    如题,var eq = tr.eq(i);
                var kucun_amt = eq.children('td#inputline').find('input').val();
                var L7_amt = eq.children('td#L7').text();
                var check1 = kucun_amt - L7_amt <=0;这样写是可以的

    但是如果俩变量比大小就得parseInt($.trim($("#max").val()))<parseInt($.trim($("#min").val()))

    看着一坨括号,我的乖乖,

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    但是变量提升只对var命令声明的变量有效,如果一个变量不是var变量声明的,就不会发生变量提升,例如以下实例:

        console.log(aa);

        aa=1;

    以上代码将会报错aa is not defined

    这tm是一个全局属性???excuse me。。。。js的代码也是没办法检查了,全靠命运的安排

    !!!!!!!!Wo 靠!!!!!!!!!

    var是js的一个关键字,它是用来声明变量的。

    声明一个变量有两种方式:

    第一种:var num=1。如果在方法中声明,则为局部变量;如果在全局中声明,则为全局变量

    第二种:num=1。事实上这是对属性进行赋值操作。首先,它会尝试在当前作用域链(如果在方法中声明,则当前作用域代表全局作用域和方法局部作用域)中解析num,如果在任何当前作用域链中找到num,则会对num属性进行赋值,如果没有找到num,他会在全局对象(即当前作用域链的最顶层对象,如window对象)中创造num属性并赋值

    注意!它并不是声明了一个全局变量,而是创建了一个全局对象的属性

    由于变量声明自带不可删除属性,比较var num=1跟num=1,前者是变量声明,带不可删除属性,因此无法被删除;后者为全局变量的一个属性,因此可以从全局变量中删除。
    与普通变量一样,js中的function也可看做变量,也存在变量提升的情况:

        a();

    function a(){

        console.log(1);

    }

    表面上,上面的代码好像在声明之前就调用了函数a。但是实际上,由于变量提升,函数a定义部分被提升到了代码头部,也就是在调用之前已经声明了。但是,如果采用赋值语句定义函数,JavaScript就会报错:

    a();

    var a=function(){

    console.log(1);

    }//会报 a is not a function

  • 相关阅读:
    记一道乘法&加法线段树(模版题)
    2021CCPC网络赛(重赛)题解
    Codeforces Round #747 (Div. 2)题解
    F. Mattress Run 题解
    Codeforces Round #744 (Div. 3) G题题解
    AtCoder Beginner Contest 220部分题(G,H)题解
    Educational Codeforces Round 114 (Rated for Div. 2)题解
    Codeforces Global Round 16题解
    Educational Codeforces Round 113 (Rated for Div. 2)题解
    AtCoder Beginner Contest 182 F
  • 原文地址:https://www.cnblogs.com/DDBD/p/11847885.html
Copyright © 2011-2022 走看看