zoukankan      html  css  js  c++  java
  • js知识点

    工作中遇到的一些js知识点:

     1.判断一个变量是否已经定义

    if (typeof (rechargestartdate) == "undefined") {
         rechargestartdate = $("#recharge_startdate").val();
          alert("此变量没有定义");
        }

     2.定义变量时如果没有写var,那么这个变量就变成了全局变量

    rechargestartdate = $("#recharge_startdate").val();

    3.一个函数做另一个函数的参数,不过做另一个函数的参数时要把这个函数的参数值带上
    //函数作为另一个函数的参数
    function test1(Func) {
       Func(mydata);
    }
    function test3(data) {
       alert(data);
    }
    
    window.onload = function () {
    
       test1(test3("zhangran"));
    }

     4.使用函数的返回值时,定义的新变量名称不能和函数的函数名称一样,如果一样的话,调用函数会失败

    var Test = Test(); //失败,出现错误
    function Test(){
        .......
        return  value;
        
    }

     5.使用for...in遍历数组可以非常容易得到所有的数组值,但是用for...in遍历Object不能得到数值

     var newarray = new Array("123", "234", "245");
        for (var i in newarray) {
            alert(newarray[i]); // i = "0"或者 i="1".... 在数组里i是字符串,但是也能取到值,
        }
    for (var property in navigator) {
            var str = "navigator" + "." + property; //在Object里property是字符串,但是navigator.property是undefined,
           document.write(property + "&nbsp;&nbsp;<em>" + str + "</em><br/>");  //显示结果是appName navigator.appName ......而不是appName opera类似的结果
     
    }

     6. 

    <script>
    function makeCookie(form){
            var when = new Date();
            when.setTime(when.getTime() + 24*60*60*1000);
            when.setFullYear(when.getFullYear() + 1);
        //
    var yname = document.form.yourname.value; 这样写会出错....,此form是函数的形参,不是表单的name
        var yname = form.yourname.value; 
          
    //var yname = document.getElementById("yourname").value; //var ycolor = document.getElementById("yourcolor").value; var ycolor = form.yourcolor.value; var str = "visitor=" + yname + ";expires=" + when.toGMTString(); var colorstr = "color=" + ycolor + ";expires=" + when.toGMTString(); //document.cookie = escape(str); //document.cookie = escape(colorstr); document.cookie = encodeURI("visitor") + "=" + encodeURI(yname) + ";expires=" + when.toGMTString(); alert(document.cookie);// 没有cookie ,why? } function welcome(form){ you = form.yourname.name; var position = document.cookie.indexOf("visitor="); if(position != -1){ var begin = position + 8; var end = document.cookie.indexOf(";",begin); if(end == -1){end = document.cookie.length;} you = decodeURI(document.cookie.substring(begin, end)); alert("welcome"+ you); }else{alert("no cookies");} } </script> <body onload="document.form1.reset()"> <form name="form1" > your name:<br/> <input type="text" name="yourname" id="yourname"/><br/> your color:<br/> <input type="text" name="yourcolor" id="yourcolor"/> <br/> <input type="button" value="make cookie" onclick="makeCookie(this.form)"/> <input type="button" value="get cookie" onclick="welcome(this.form)"/> </form>

     7. 全局变量和局部变量

     对于全局变量和局部变量的作用域我很明白,但有时对某个变量是全局变量和局部变量会很糊涂,弄不明白。经过几个测试,基本明白了,如果有错的地方,还请指教。

    $(document).ready(function () {
        var t = true;//变量t对于ready的匿名函数而言是局部变量,但是它声明在函数scroll()外,那相对于scroll(){}t是全局变量,在scroll里t的值可以被使用、改变
      function scroll(){  
          t =!t;
          f
    ="123";//在函数里定义变量时不写var,那么这个变量就是一个全局变量了
         
    }
    });
    
    
  • 相关阅读:
    Oracle学习 第19天 SqlServer数据迁移Oracle
    Oracle学习 第18天 用户、表空间
    Oracle学习 第18天 PL/SQL切换用户/表空间
    Oracle学习 第18天 .NET连接Oracle
    Oracle学习 第18天 RowID与RowNum
    Bat脚本学习-2:查找文件是否存在
    Bat脚本学习-1:合并Sql存储过程
    展望新的一年
    Oracle学习 第17天
    UEditor练习(JSP版)20190603
  • 原文地址:https://www.cnblogs.com/xiang1336/p/3503418.html
Copyright © 2011-2022 走看看