javascript 内置对象学习 笔记:

一. 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>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值