zoukankan      html  css  js  c++  java
  • JavaScript读书笔记

    JavaScript 是一种基于对象的脚本语言,属于弱类型语言,由浏览器解释执行。

    基本语法:

      对字母大小写敏感;

      关键字不能作为变量名和函数名使用;

      所有的变量都由关键字var进行声明;

    数据类型:

      数字型(Number):在JS中,所有的数字都是由浮点型表示的;

      字符串型(String):程序中的字符串型数据是包含在单引号或双引号中的,由单引号界定的字符串可以含有双引号;

    由双引号界定的字符串也可以含有单引号;

      布尔型(boolean):true,false(在进行计算时分别表示1和0);

      未定义类型(undefined):当在程序中发生计算错误后,返回一种特殊类型的数字常量(NaN);

      空值(null):用于定义空的或不存在的引用,注意:null不等同于空的字符串或0;

    运算符

      算术运算符:+,-,*,/,%,++,--;

      比较运算符:>,<,=, >=,<=,==,===,!=,!===;

      赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=;

      逻辑运算符:&&,||,!;

      条件运算符(三目运算符):操作数 ? 结果1:结果2;

      其他运算符:位运算符;typeof运算符;new运算符;this运算符;

    流程控制语句

      在实际开发过程中,对于判断条件较少,通常使用if条件语句,反之就应该使用switch语句;

      循环语句:for语句;while语句;do...while语句(不要忘记结束时while语句括号后的";");

      跳转语句:continue;break

    JS对象

      String对象:用来保存字符串常量;

    x.length         ----获取字符串的长度
    
     x.toLowerCase()        ----转为小写
     x.toUpperCase()        ----转为大写
     x.trim()               ----去除字符串两边空格       
    
    
    ----字符串查询方法
    
    x.charAt(index)         ----str1.charAt(index);----获取指定位置字符,其中index为要获取的字符索引
    
    x.indexOf(findstr,index)----查询字符串位置
    x.lastIndexOf(findstr)  
    
    x.match(regexp)         ----match返回匹配字符串的数组,如果没有匹配则返回null
    x.search(regexp)        ----search返回匹配字符串的首字符位置索引
    
                            示例:
                            var str1="welcome to the world of JS!";
                            var str2=str1.match("world");
                            var str3=str1.search("world");
                            alert(str2[0]);  // 结果为"world"
                            alert(str3);     // 结果为15
                            
    
    ----子字符串处理方法
    
    x.substr(start, length) ----start表示开始位置,length表示截取长度
    x.substring(start, end) ----end是结束位置
    
    x.slice(start, end)     ----切片操作字符串
                            示例:
                                var str1="abcdefgh";
                                var str2=str1.slice(2,4);
                                var str3=str1.slice(4);
                                var str4=str1.slice(2,-1);
                                var str5=str1.slice(-3,-1);
    
                                alert(str2); //结果为"cd"
                                
                                alert(str3); //结果为"efgh"
                                
                                alert(str4); //结果为"cdefg"
                                
                                alert(str5); //结果为"fg"
    
    x.replace(findstr,tostr) ----    字符串替换
    
    x.split();                 ----分割字符串
                                     var str1="一,二,三,四,五,六,日"; 
                                    var strArray=str1.split(",");
                                    alert(strArray[1]);//结果为"二"
                                    
    x.concat(addstr)         ----    拼接字符串
    属性和方法

      Array对象——数组对象的属性和方法:

    join方法:

    x.join(bystr)       ----将数组元素拼接成字符串
    
                                var arr1=[1, 2, 3, 4, 5, 6, 7];
                    var str1=arr1.join("-");
                    alert(str1);  //结果为"1-2-3-4-5-6-7" 
    View Code

    concat方法:

    x.concat(value,...)    ---- 
                       var a = [1,2,3];
                      var b=a.concat(4,5) ;
                      alert(a.toString());  //返回结果为1,2,3            
                      alert(b.toString());  //返回结果为1,2,3,4,5
    View Code

    数组排序-reverse sort:

    //x.reverse()
    //x.sort()
    
    var arr1=[32, 12, 111, 444];
    //var arr1=["a","d","f","c"];
    
    arr1.reverse(); //颠倒数组元素
    alert(arr1.toString());
    //结果为444,111,12,32
    
    arr1.sort();    //排序数组元素
    alert(arr1.toString());
    //结果为111,12,32,444
    
    //------------------------------
    arr=[1,5,2,100];
    
    //arr.sort();
    //alert(arr);
    //如果就想按着数字比较呢?
    
    function intSort(a,b){
        if (a>b){
            return 1;//-1
        }
        else if(a<b){
            return -1;//1
        }
        else {
            return 0
        }
    }
    
    arr.sort(intSort);
    
    alert(arr);
    
    function IntSort(a,b){
        return a-b;
    }
    View Code

    数组切片操作:

    //x.slice(start, end)
    //
    //使用注解
    //
    //x代表数组对象
    //start表示开始位置索引
    //end是结束位置下一数组元素索引编号
    //第一个数组元素索引为0
    //start、end可为负数,-1代表最后一个数组元素
    //end省略则相当于从start位置截取以后所有数组元素
    
    var arr1=['a','b','c','d','e','f','g','h'];
    var arr2=arr1.slice(2,4);
    var arr3=arr1.slice(4);
    var arr4=arr1.slice(2,-1);
    
    alert(arr2.toString());
    //结果为"c,d" 
    alert(arr3.toString());
    //结果为"e,f,g,h"
    alert(arr4.toString());
    //结果为"c,d,e,f,g"
    View Code

    删除(插入)子数组:

    //x. splice(start, deleteCount, value, ...)
    
    //使用注解
    
    //x代表数组对象
    //splice的主要用途是对数组指定位置进行删除和插入
    //start表示开始位置索引
    //deleteCount删除数组元素的个数
    //value表示在删除位置插入的数组元素
    //value参数可以省略       
            
    var a = [1,2,3,4,5,6,7,8];
    a.splice(1,2);
    
    alert(a.toString());//a变为 [1,4,5,6,7,8]
    
    a.splice(1,1);
    
    alert(a.toString());//a变为[1,5,6,7,8]
    
    a.splice(1,0,2,3);
    
    alert(a.toString());//a变为[1,2,3,5,6,7,8]
    View Code

    栈操作:(数组的push和pop;数组的shift和unshift

      Date对象

    获取日期和时间
    getDate() 获取日
    getDay () 获取星期
    getMonth () 获取月(0-11)
    getFullYear () 获取完整年份
    getYear () 获取年
    getHours () 获取小时
    getMinutes () 获取分钟
    getSeconds () 获取秒
    getMilliseconds () 获取毫秒
    getTime () 返回累计毫秒数(从1970/1/1午夜)

      Math对象

    //该对象中的属性方法 和数学有关.
       
    
    abs(x)    返回数的绝对值。
    exp(x)    返回 e 的指数。
    floor(x)对数进行下舍入。
    log(x)    返回数的自然对数(底为e)。
    max(x,y)    返回 x 和 y 中的最高值。
    min(x,y)    返回 x 和 y 中的最低值。
    pow(x,y)    返回 x 的 y 次幂。
    random()    返回 0 ~ 1 之间的随机数。
    round(x)    把数四舍五入为最接近的整数。
    sin(x)    返回数的正弦。
    sqrt(x)    返回数的平方根。
    tan(x)    返回角的正切。
    
    //方法练习:
            //alert(Math.random()); // 获得随机数 0~1 不包括1.
            //alert(Math.round(1.5)); // 四舍五入
            //练习:获取1-100的随机整数,包括1和100
                 //var num=Math.random();
                 //num=num*10;
                 //num=Math.round(num);
                 //alert(num)
            //============max  min=========================
            /* alert(Math.max(1,2));// 2
            alert(Math.min(1,2));// 1 */
            //-------------pow--------------------------------
            alert(Math.pow(2,4));// pow 计算参数1 的参数2 次方.
    属性和方法

      函数对象

      可以使用变量、常量或表达式作为函数调用的参数
      函数由关键字function定义
      函数名的定义规则与标识符一致,大小写是敏感的
      返回值必须使用return
      Function 类可以表示开发者定义的任何函数。

      BOM对象和DOM对象学习完之后另行总结,JS的重点就在于DOM编程!

  • 相关阅读:
    Web开发学习之路--Eclipse+Tomcat+mysql之初体验
    Android必知必会-Stetho调试工具
    Android开发学习之路--NDK、JNI之初体验
    OpenMP基础----以图像处理中的问题为例
    leetcode 2 Add Two Numbers
    Java在linux下调用C/C++生成的so文件
    OpenCV特征点检测匹配图像-----添加包围盒
    [POJ 1442] Black Box
    [POJ 2019] Cornfields
    [HDU 1806] Frequent values
  • 原文地址:https://www.cnblogs.com/sl-swift/p/7855673.html
Copyright © 2011-2022 走看看