Js基础知识

                                                        Js基础知识
1、变量定义
    var 变量名=变量值;
2、变量不能以数字开头
  var ____=23;(是对的,不规范)
3、查看数据的类型
    alert(typeof(变量名));
4、数据类型
    数字类型:number
    字符类型:string                 空字符也是字符类型
    空类型:null
    未定义类型:Undefined       表示没有定义
    布尔类型: bool(boolean)     true false
    复合数据类型:复杂类型       array数组   object对象
     var abcd=null;
     alert(typeof(abcd));          //object
      注意:空类型与空字符串没有半毛钱关系
5、alert(): 弹出一个窗口(会停止程序的运行)
6、firebug调试
    注意:不要太相信firebug,认真就会输
    火狐可以直接安装附加组件firebug
    控制台->全部->F5->找错
7、运算符
    1、赋值运算符 =
    2、算数运算符 +  -  *  /  %(取余)  ++(递增1)  --(递减1)
       i++:先自增再使用
       ++i:先使用再自增
8、比较运算符
    >  <  >=  <=  ==(等于)  !=(不等于)  ===(全等于)  !==(不全等于)
    ==:判断2个值是否相同(仅仅是判断值)
    ===:判断2个值是否相等(判断值和数据类型)
    例: var i=24; var j="24";
        alert(typeof(i==j));   //true
        alert(typeof(i===j)); //false
9、逻辑运算符
    !(非)   &&(逻辑与:两个条件同时满足为true;如果有任一个为false,结果就为false)  ||(逻辑或:两个条件满足任意一个为true,都不满足为true)
10、复合赋值运算符
    +=  -=  *=  /=
11、字符串运算符 +(连接+两边的内容)
    当+两边任意一边有字符串,就会执行字符串+
12、js的语法规则与注释
    区分大小写;所有的符号都必须是英文状态下的
    每行表达出想要表示的意思;每行最后必须加上分号(英文状态)
    注释:单行注释 //            多行注释 /*  ...    */
13、位运算符
    二进制: 0  1
    十进制: 0 1 2 3 4 5 6 7 8 9
    十六进制: 0 1 2 3 4 5 6 7 8 9 10 A B C D E
14、运算符的优先级
    1、小括号最优先
    2、逻辑与  大于  逻辑或
    3、赋值运算符最后进行
    4、当有多个运算符参与运算的时候,脑子里必须有意识知道运算符是有优先级的。
15、alert("

你好

")与documentwrite(

你好

")的区别
    documentwrite()是在body里的,能识别标签
    alert()是浏览器里的,不能识别html标签,将原样输出。
16、switch扩展
    var x = 44;
    switch(true){
        case x>40:
            document.write('大于40');
            break;
        case x<=40:
            document.write('小于等于40');
            break;
17、传值:把一个变量传递给另外一个变量
    赋值传值:两份数据,两份数据之间不会影响
    引用传值:一份数据,任意一个改动值另外一个都会受到影响
    注意:在简单数据的传值中,都是赋值传值;而复杂数据都是引用传值
    数组定义: var n={name:"张三",age:27};
    var m=n;  alert(m.name);//张三
18、流程控制值if语句
     1、if语句
           if(条件){语句块}
     2、if else 语句
           if(条件){语句块1}else{语句块2}
     3、if,elseif,elseif语句
           if(条件){语句块1}else if(条件){语句块2}else if(条件){语句块3}......
     4、if,elseif,elseif..else语句
           if(条件){语句块1}else if(条件){语句块2}else if(条件){语句块3}......else{不满足之前任意一个就执行此处语句块}
19、switch语句
      switch(条件){case 值1:语句块;break;case 值2:语句块;break;case 值3:语句块;break;default:语句块;break;}  //最后的berak可以不加
20、switch扩展
      var n=97;    switch(true){case n>80:document.write("优秀");break;
                   case n>70:document.write("良好");break; }
21、while循环
     循环3要素:循环变量的初始化;循环条件的判断;循环变量的改变。
      var i=1;  while(i<=100){循环体;  //循环变量的改变    i+=5;}
22、dowhile循环
      var i=1;   do{循环体  i++;}while(i<=100)
      最少执行一次
7、for循环
          for(循环变量的初始化;循环条件的判断;循环变量的改变){循环体}
          for(var i=1;i<7;i++){
    alert("h"+i);
    document.write("H"+i+"");}
23、练习:九九乘法表
24、星星金字塔代码:
    
25、函数:一段能够自动完成某些功能的代码
     语法:  function   函数名(形参1,形参2...形参n){函数体}
     调用:函数名(实参1,实参2...实参n)    function area(r)
  注意:1、函数执行过后会回到调用它的位置
            2、函数写好之后自己是不会执行的,需要调用它才能执行
26、var c=Math.pow(he,0.5);   //开平方
27、函数名:不要和系统函数以及关键词相同,要起的有意义
28、firebug:
     点到firebug脚本;点击某个位置添加断点;刷新;点击单步进入
29、平时只会关注局部变量;只要在函数内部定义变量就必须有意识的知道,存在作用域的问题
30、返回值 return
    return:        跳出函数,不再执行
    return 值:   跳出函数,同时把值返回到调用函数的位置
     注意:  如果有返回值,必须接收返回值
31、函数的位置:可以先定义,后调用;也可以先调用,再定义
32、数组 arr.length;数组的长度
      var arr=[22,23,24];
33、二维数组的定义
     var arr=[[23,24,25],[22,21],[45,47,99]];
34、求二维数组最大值
    //定义一个二维数组
       var arr=[[22,23,24,22],
        [54,66,98,54],
        [999,1]];
    //定义最大值
    var max=arr[0][0];
    //定义最大值的i,j下标
    var bi;
    var bj;
    for(var i=0;i        for(var j=0;j                if(max                        max=arr[i][j];
                        bi=i;
                        bj=j;
                    }
            }
        }
    document.write("这个数组最大的数字是:"+max+"
");
    document.write("最大数的下标是:["+bi+"]["+bj+"]
");
        结果是:      这个数组最大的数字是:999
            最大数的下标是:[2][0]

35、系统内部的函数
    parseInt():取整(如果字符串开头第一个是字母,那么就会出现NaN)
    parFloat:取浮点数
    NaN:not a number不是一个数字
    isNaN:is not a number
        1、如果判断的为数字:false
        2、如果判断的为字符串:true
36、Array对象
    属性:length获取数组的长度
    方法:concat(a,b,[c,d]) 往数组中加数据(可以是任意数据)
           join(" ") 加入某个字符,用n连接数组的某项组成字符串,
        其实就是把都好替换成n,如果空字符串连接,直接连接数组每项内容
           pop():删除数组的最后一项并返回数组最后一项
           push(28):加入新的内容,返回新的长度
           reverse():反转数组的顺序内容
37、属性和方法的一些形式
    属性:   对象名.属性
    方法:   对象名.方法()
38、String对象
    var String=new String("wqeqfw");
    属性: length
    方法:chartAt(n):找到索引位置的字符
            charCodeAt(n):找到索引位置上字符的ASCLL值  a(97)   A(65)
            indexOf("m"):找m在字符串中第一次出现的位置,没找到返回-1
            lastIndexOf("m"):找m在字符串中最后一次出现的位置,没找到就返回-1
            split(n):以字符n分割字符串返回一个数组,以空字符串分割会把字符串每个字符都当做数组的一项内容,
           如果不存在n,那么会把整个字符当做数组的内容
            substr(n,m):截取字符串,把字符串从n的位置开始截取,截取m个;如果只有一个参数n,那就是从n开始截取所有的
            subString(n,m):从n的位置开始,截取到m的位置,注意:包左不包右
            toLowerCase():把字符串中的字母转换为小写
            toUpperCase():把字符串中的字母转换为大写

39、Math对象
    Math.pow(n,m);    求n的m次方
    Math.abs(n);    求n的绝对值
    Math.round(n);    求n四舍五入的值
    Math.floor(n);    求n的向下取整的值,不大于n的最大整数
    Math.ceil(n);    求n的向上取整的值,不小于n的最小整数
    Math.random();    获得一个0-1之间的随机数,能取到0但是取不到1
        取 10-20随机数:Math.random()*10+10
        求n-m之间的随机数(n    求任意两个数之间的随机数[m,n]
    Math.floor(Math.random()*(大数-小数+1)+小数)

40、js特殊字符
    '  : 单引号
    " : 双引号
    \ : 转义字符
    alert()换行  \r\n  换行效果
    \r : 回车

    \n : 换行


你可能感兴趣的:(Js(JQuery))