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=22*2=4
3*1=33*2=63*3=9
4*1=44*2=84*3=124*4=16
5*1=55*2=105*3=155*4=205*5=25
6*1=66*2=126*3=186*4=246*5=306*6=36
7*1=77*2=147*3=217*4=287*5=357*6=427*7=49
8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64
9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*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直接的整数")

  

 

 

 

 

 

 

转载于:https://www.cnblogs.com/colorful-paopao1/p/8158459.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值