欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javascript 内置对象学习 笔记:

程序员文章站 2022-07-03 20:07:43
...
一. JavaScript 对象
    1.function 对象
      创建: function xxx(参数1,参数2,...参数n){
                   方法体;
            }
      调用: xxx(参数1,参数2,...参数n)
      特点:a 方法定义时,形参类型不用写,返回值不用定,因为js中都是:var
           b function定义出来的方法,本身就是一个对象,但是如果存在同名,则覆盖该方法
           c 在JS中调用方法,只与方法名有关,和参数列表不无关,fn(), fn(a ,c,b);都能调用
           d 方法声明中有一个隐藏的内置对象(数组) arguments,封装所有的参数,这也是 C 的原因
      eg:
             <script>
                  /**
                   * 定义一个 function 函数  来测试学习
                   * @param a
                   * @param b
                   * @returns {*}
                   */
                  function add(a,b) { // A
                      var s = 0;
                      for (var i = 0; i < arguments.length; i++) {
                          s += arguments[i];
                      }
                      return s;
                  }
                  /*
                  调用函数
                   */
                  var sum = add(4,5,6,5);  // 这里调用add ,和这定义时候的参数没有关系
                  alert(sum);
                  alert(add.length); // 这里的,add 是指的 定义时的add 对象  A 处
              </script>
    2.Array 对象
             创建  var arr1 = [1,"abc",2,7];
             特点:a 元素数组是可变的,也就是,可以在一个数组中存不同类型的数据
                  b 长度可变,可以随数据的加入变化
    3.Date 对象
             创建 <script>
                        var date1 = new Date();
                        document.write(date1.toLocaleString());
                        document.write(date1.getTime().toString());
                 </script>
    4.Math 对象
           创建:直接调用:Math.xxx
               <script>
                   document.write(Math.PI.toString()+"<br />");
                   document.write("-----------------------<br /> ");
                   document.write("向上取整"+Math.ceil(3.14)+"<br />");
                   document.write("向下取整"+Math.floor(3.14)+"<br />");
                   document.write(Math.random().toString()+"<br />");
                   document.write("----------产生一个[1,100]整数-------------<br /> ");
                   var number = Math.floor(Math.random()*100)+1;
                   document.write(number.toString()+"<br>")
               </script>
    5.RegExp 对象 正则表达式
             创建:  var regExp = new RegExp("正式表达式");  不推荐,因为要配合转义字符 如:C
                    var regExp1 = /正式表达式/;  推荐使用:☆☆☆☆☆
             方法:test(被测试对象);
              <script>
                     var regExp = new RegExp("^\\w{6,12}$");   //C
                     // 以单词字符开头,以单词字符结尾,长度在 6到12 之间  单词字符:a-zA-Z0-9
                     var regExp2 =/^\w{6,12}$/;
                     var strName ="zhanghai";
                     var flag = regExp.test(strName);  //test的调用
                     alert(flag);
                     document.write(flag.toString());
              </script>
    6.Global 对象:全局对象,这个里面封装的方法直接调用就可以了,方法名()
             <script>
                    //编码:Http 协议中,不支持传输中文,就要对中文进行转码
            
                    var strUserName = "苦咖菲";
                    // encodeURI() 转码函数,decodeURI() 解码函数
                    var encodeName = encodeURI(strUserName);
                    document.write("中文为:" + strUserName + "<br>");
                    document.write("encodeURIrg后为:" + encodeName + "<br>");
                    document.write("decodeURI解码后:" + decodeURI(encodeName) + "<br>")
                    //增强 转码,解码函数  encodeURIComponent() 转码的字符更多,//: 都能转
                    var uri = "http://www.abcdefg.com?usrname=苦咖菲";
                    var encodeURI1 = encodeURI(uri);
                    document.write(encodeURI1 + "<br>"); //http://www.abcdefg.com?usrname=%E8% 8B%A6%E5%92%96%E8%8F%B2
                    var encodeURIComponent1 = encodeURIComponent(uri);
                    document.write(encodeURIComponent1 + "<br>"); // http%3A%2F%2Fwww.abcdefg.com%3Fusrname%3D%E8%8B%A6%E5%92%96%E8%8F%B2
                    //parseInt() 把字符串转成数值,把遇到不是非数值的之前的所有空字符转数值
                    var strTest = "123abc";
                    var strTestB = "a123abc";
                    var number = parseInt(strTest);  //  123
                    var number2 = parseInt(strTestB); // NaN
                    document.write(number2.toString() + "<br>");
                    var num = number + 1;
                    document.write(num + "<br>");
                    // isNaN() 判断一个值 是不是NaN  NaN 不能用 == 来判断,必须用这个函数来判断
                    document.write((number2 == NaN) + "<br>");  // false
                    document.write(isNaN(number2)+"<br>");    //true
                    //eval() 将字符串转成js 代码来执行
                    var strA ="document.write(123)";  
                    document.write(strA); // document.write(123)
                    eval(strA); // 123  按js代码执行了
                </script>

 

相关标签: 苦咖啡.Javascript