• js基础知识总结


    1、弱类型:var

         强类型:int string

    2、命名习惯

    类型

    前缀

    例子

    数组

    a

    aArray

    布尔值

    b

    bMale

    浮点

    f

    fTax

    函数

    fn

    fnSwap

    整型

    i

    iAge

    对象

    o

    oCar

    正则

    re

    rePattern

    字符串

    s

    sUniversity

    3、6.02e23=6.02*10²³;     6.02e-32=6.02*10-32 ; .333=0.333

    4、字符串使用

    var sStr="hello world"
    
    console.log(sStr.length);        //11   字符长度
    console.log(sStr.charAt(4));     //o    获取索引为3 位置为4的字符  
    console.log(sStr.substring(1));  //ello world截取1到最后的位置 
    console.log(sStr.substring(1,4));//ell 截取从1的位置截取到4,但不包括4。
    console.log(sStr.slice(1,4)); //ell 从1到4但不包括4,支持负数 sStr.slice(-3,-1);//rl
    console.log(sStr.substr(1,4)) //ello 从索引为1的位置截取4个长度
    console.log(sStr.indexOf("r")) //8 r第一次出现的位置
    console.log(sStr.indexOf('l'),4);//9 l从索引4开始数,第一次出现的位置
    console.log(sStr.lastIndexOf("o"));//7 最后一次出现的索引
    console.log(sStr.split(' ')); //["hello", "world"] 以空格为分隔符
    console.log(sStr.toUpperCase()); //HELLO WORLD
    console.log(sStr.toLowerCase()); //hello world
    console.log(sStr.replace("e","*"));//h*llo world
    console.log(sStr[0]); //h 字符串可以当做只读数组
    console.log(sStr[sStr.length-1]); //d

        var arr = Array(2);
        arr[0]="john";
        arr[1]="tom";
        console.log(arr.join('-'));//john-tom

         

        console.log(Number(true)); //1

         console.log(Boolean(null));//false

        

    5、表达式和运算符

    in	var o={x:1,y:2};
    	delete o.x;
    	console.log('y' in o);//ture
    	console.log('x' in o);//fasle

    instanceof     var d = new Date();
                     if(d instanceof Date){
                            console.log('1');
                      }else{
                            console.log('2');
                        }

    6、语句

       for; break; continue; return
               var iSum = 0;
                for (var i = 1; i < 101; i++) {
                    if( i==10){
                        //  break;//跳出整个for循环体
                        // continue;//只有当i==5时不执行,其他继续
                       // return;//跳出整个方法体或者返回一个值
                        alert(addNum(5));
                    }
                  
                    iSum += i;
                }
                alert(iSum);
            }
            function addNum(i) {
                var j = i + 5;
                    return j;
    

       if...else; prompt; isNaN; Number;parseInt

    猜数字游戏

    var iNum= Math.floor(Math.random()*100+1);
    for(var i=0;i<3;i++){
    if(i==6){
    alert('游戏结束中奖号码是'+iNum);
    return;
    }else{
    var sInput = prompt("请输入1~100之间的整数"); var nInput = Number(sInput); if (isNaN(nInput)) { alert("请输入数字"); } else {
    if(nInput == parseInt(nInput)){
    if(nInput <1|| nInput>100){
    alert("你输入的不在范围内");
    }else{//输入在1~100之间
    if(iInput>iNum){
    alert('你输入的数字太大');
    }else if(iInput<iNum){
    alert("你输入的太小");
    }else{
    alert("恭喜你中奖了");
    return;
    }
    }
    }else{
        你输入的不是整数
    }
    }
    }
    }
            switch(nInput){
                        case 1: alert('1'); break;
                        case 2: alert("2"); break;
                        case 3: alert("3"); break;
                        case 4: alert("4"); break;
                        case 5: alert("5"); break;
                        case 6: alert("6"); break;
                        case 7: alert("7"); break;
                    }

     while

                var i = 0;
                var iSum = 0;
                while(i<10){
                    iSum += i;
                    // i++;  //执行后再加
                    ++i;    //执行前先自加
                    alert(i);
                }
                alert(iSum);
    

      for  in

        var o = { x: 1, y: 2 }
                for(i in o){
                    console.log(o[i]);
                }                                    // 1,2
    

      异常处理 try catch finally

     function click(){
       try{//抛出异常
            var n=Number(prompt("请输入一个正整数"));
            var f=factorial(n);
            alert(n+"!="+f);
          }
          atch(ex){//处理异常
            alert(ex);
             }
          finally{
             alert("不管是否有异常,都显示");
             }
       }
     function factorial(x) {
                if (x < 0) {
                    throw new Error("x不能为负数");
                }
                if (isNaN(x)) {
                    throw new Error("你输入的不是一个数字");
                }
                for (var f = 1; x > 1; x--) {
                    f *= x;
                }
                return f;
            }
    

     7、JS堆栈和拷贝

    http://www.cnblogs.com/chengguanhui/p/4737413.html

     栈          传值                                                                           堆 传址

    特点:                                                                                        特点:

    1、自动分配内存                                                                         1、动态分配内存

    2、自动释放内存                                                                         2、大小不定不自动释放内存

    3、存放基本类型(number string null Bleanoon array)                      3、存放引用类型(对象、数组、函数)

    4、可以直接调用                                                                          4、通过址来访问

                var a = [1, 2,3, 4, 5];
                var b = a;
                var c = a[1];
                alert(b);//1,2,3,4,5
                alert(c);//2
    
                b[4] = 6;
                c = 7;
                alert(a[4]); //6
                alert(a[0]);  //1
    

     8、 乘法表

               var s = '<table>';
                for (var i = 1; i <= 9; i++) {
                    s += "<tr>";
                    for (var j = 1; j <= i; j++) {
                        s += "<td>"+i +'*'+j+"="+i*j+"</td>";
                    }
                    s +="</tr>"
                }
                s += "</table>";
                document.write(s);     
    1*1=1
    2*1=2 2*2=4
    3*1=3 3*2=6 3*3=9
    4*1=4 4*2=8 4*3=12 4*4=16
    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
    6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
    7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
    8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
    9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

     冒泡排序

    var item =0;
    	var iNum =[2,1,4,6,32,23,44,22,55];
    	for(var i=0;i<iNum.length-2;i++){
    		for(var j=i+1;j<iNum.length-1;j++){
    			if(iNum[i]>iNum[j]){
    				item =iNum[i];
    				iNum[i]=iNum[j];
    				iNum[j]=item;
    				}
    			}
    		}
      console.log(iNum);//[1, 2, 4, 6, 22, 23, 32, 44, 55]
    

    9、数组

            var aArry = [2,3,5,7,4];
    	console.log(aArry.join('-'));//2-3-5-7-4
    	console.log(aArry.toString());//2,3,5,7,4
    	aArry.push(55,22);
    	console.log(aArry);//[2, 3, 5, 7, 4, 55, 22]
    	aArry.pop();//删除数组最后一个值,返回其他的
    	console.log(aArry);//[2, 3, 5, 7, 4, 55]
    	var iSum=0;
    	for(var i=0;i<aArry.length;i++){
    		iSum += aArry[i];
    		}
    	console.log(iSum);//76
    	var aArry=[2,4,6,9];
    	var aa = aArry.filter(function(x,y){
    		return x<4;
    		});
    	console.log(aa);//[2]
    	var bb= aArry.map(Math.sqrt);	
    	console.log(bb);// [1.4142135623730951, 2, 2.449489742783178, 3]
    

      Date类型

    var d1=new Date();
    console.log(d1.toLocaleDateString()+d1.toLocaleTimeString());//2018/1/15下午4:33:26
    var myDate = new Date();
    myDate.setMonth(4);
    console.log(myDate.toLocaleDateString());//2018/5/15
    myDate.setMinutes(22);
    console.log(myDate.toLocaleTimeString());//下午5:22:04
    

     

     location.href="#w3"; //跳转到对应的id;
     location.href="http://www.baidu.com";
     location.href="demo1.html";
    /* if(confirm('你确定删除吗?')){
    		 alert('ok');
    		 }else{
    			 alert("no");
    			 }*/
    //	console.log("控制台输出");
    //	alert("弹窗一个窗口");
    //	prompt("请输入一个1~100直接的整数")
    

      

     

     

     

     

     

  • 相关阅读:
    腾讯为什么会出Q立方浏览器?
    String,StringBuffer与StringBuilder的区别??
    Linux Socket编程(不限Linux)
    将div显示在屏幕正中央
    计算鼠标坐标是否在指定范围内
    正则
    ajax异步通信
    CSS Float 换行
    jQuery强大的jQuery选择器
    给display字段增加筛选功能
  • 原文地址:https://www.cnblogs.com/colorful-paopao1/p/8158459.html
Copyright © 2020-2023  润新知