JavaScript简介(自用)

1、Javascript脚本语言,解释性语言,能够改变html的内容。

java中:
   int a=10;
   System.out.println(a);//没有问题
   b;
   System.out.println(b);//报错,没有初始化b的值
javascript中:
   var a=10;
   alert(a);  //弹出a的值
   b;
   alert(b);//编译不会报错
<script>
   一行一行的解析,如果遇到错误,错误以后不执行,错误之前的还执行。
</script>   

2、Javascript引入三种方式:
(1).外部js文件

(2).<script>alert("hello world")</script>

(3).标签内部

3、JavaScript中怎么声明:javascript是一门弱类型语言

  var a;  
在java中:
   int a=10;
   a="hello world";  //会报错,类型不统一
在javascript中:
   var a=10;
   a="hello world";
   alert(a);   

4、javascript中几种输出的方式:

  • alert() ----弹框
  • innerHTML="";
  • write()

5、javascript中注释跟java一样:

  • //单行注释
  • /*
    多行注释
    */

6、JavaScript中数据类型:

 <script type="text/javascript">
     var a=11;//数值类型
     console.log("数值类型的值:"+a);
     var b="hello world";//字符串
     console.log("字符串类型:"+b);
     var c=["zs","ls","ww"];//数组
     console.log(c[0]);
     var d={top:"a",foot:"b"}; //对象
     console.log(d.top+","+d.foot);
	 var flag=false;//boolean类型
	 console.log(flag);
  </script>

(1)类型

  • number :1,11.1
  • boolean : false,true
  • string :“hello world”,‘hello world’
  • object Array: [“zs”,“ls”,“ww”],Object—{top:“a”,foot:“b”}
undefined---没有赋值
     var str='';
     console.log(typeof str);    //string 
null ----object类型	 
     var n=null;
     console.log(typeof n);
复杂的数据类型:
    functionvar f=myfun;
    console.log(typeof f);
    function myfun(a){
    	document.write("haha");
    	return 123;
    } 
NaN----非数值类型   
类型转换:
Number()----可以转换数值类型
     var n="123";//---string
     var m=Number(n);
     console.log(m+","+typeof m);//123,number
     var n="123abc";//---string
     var m=Number(n);
     console.log(m+","+typeof m);//NaN,number
	 var f=false;//--boolean
     var m=Number(f);
     console.log(m+","+typeof m);//0,number 
	 var d=new Date();----object
 	 var m=Number(d);
 	 console.log(m+","+typeof m);//1570934135135,number

7、JavaScript中对象:----java对象—>万物皆对象

Java中:
class Person{
   private int age;
   private String name;
   public String show(){
      System.out.println(name+"---->"+age);
   }
}
JavaScript中:对象是一个容器,也是一个变量。跟普通变量之间区别,
变量只可以存储一个值,对象可以存储多个值。
var p="zs";----变量
var p1={name:"zs",age:18,sex:"男"};-----对象,在javascript中this代表当前类
   var person={
		   name:"zs",
		   age:18,
		   sex:"男",
		   show:function(){
			   return this.name+","+this.age+","+this.sex;
		   }
   }
   console.log(person.name+"--->"+person.age+"--->"+person.sex);
   console.log(person["name"]+"--->"+person["age"]+"---->"+person["sex"]);
   console.log(person.show());
通过new关键字创建对象:
   var person=new Object();//-----java方式
   person.name="zs";
   person.age=18;
   person.sex="男";
   console.log(person.name+"---"+person["age"]+"----"+person.sex); 
数组:
   var array=new Array();
   array[0]="zs";
   array[1]="ls";
   console.log(array[0]+"..."+array[1]);
   var a=["zs","ls"];
   console.log(a[0]+"----"+a[1]);
   var b=[];
   b[0]=10;
   b[1]=20;
   console.log(b.length); 
字符串:
   var str="";
案例:
   var person=new Object();//-----java方式
   person.name="zs";
   person.age=18;
   person.sex="男";
   var p=person;
   p.name="ls";
   console.log(p.name);//ls
   console.log(person.name);//ls
同比java中引用数据类型----引用同一个地址  
   var person={
		   name:"zs",
		   age:18,
		   sex:"男",
		   getName:function(){
			   return this.name;
		   },
           get getAge(){
        	   return this.age;
           },
           set setSex(sex){
        	   this.sex=sex;
           }
   }	
   console.log(person.getName());
   console.log(person.getAge);
   person.setSex="女";
   console.log(person.sex);
   //在对象上加上setter,getter方式,让代码变得更加简洁 
构造器:
   function Person(name,age,sex){
	   this.name=name;
	   this.age=age;
	   this.sex=sex;
   }
   var p=new Person("zs",18,"男");
   var p1=new Person("ls",19,"王五");
   console.log(p.name+","+p.age+","+p.sex);
   console.log(p1.name+","+p1.age+","+p1.sex); 

8、JavaScript中函数(参数列表,回调函数,递归函数)
(1).java的方法构成:
访问修饰符 返回值类型 方法名(参数列表){
方法体
}
(2).javascript中函数构成:
function functionname(参数列表){
函数体
}

9、JavaScript中事件:

  • onclick:点击触发
  • onchange:改变触发
  • onblur:丢失焦点
 账号:<input type="text" id="username" value="" onchange="myFun()"/><span id="d"></span>
    function myFun(){
    	var user=document.getElementById("username");
    	var value=user.value;
    	var span=document.getElementById("d");
		if("admin"==value){
			span.innerHTML="×";
			span.style.color="red";
		}else{
			span.innerHTML="√";
			span.style.color="red";
		}
}

10、函数的调用:

(1). 通过标签html事件方式调用
(2). 直接调用

自调用函数:
   	(function(){
		alert("hello world");
	})()
	+function(){
		  alert("hello world");
	}()
函数可以作为值:
    function add(a,b){
    	return a+b;
    }	
    var b=add(11,12);
函数默认是一个窗口函数:
    function add(a,b){
		  console.log(a*b);
	}
	add(11,12);
	window.add(11,12);	
函数---闭包、递归、回调	
使用递归编写5的阶乘:
   	function five(x){
		  if(x==1){
			  return 1;
		  }
		  return x*five(x-1);
	  }
	var f=five(5);
	console.log(f);

11、JavaScript语句:if else,for,for in
(1). 分支语句:判读
if(){
}else{
}

//1,2,3 取最大值 
	var a=1,b=2,c=3;
	if(a>b){
		if(a>c){
			console.log("最大值:"+a);
		}else{
			console.log("最大值:"+c);
		}
	}else{
		if(b>c){
			console.log("最大值:"+b);
		}else{
			console.log("最大值:"+c);
		}
	}
	console.log("最大值:"+(a>b?(a>c?a:c):(b>c?b:c)));
 var d=3;
   if(d==1){
	   console.log("星期一");
   }else if(d==2){
	   console.log("星期二");
   }else if(d==3){
	   console.log("星期三");
   }else{
	   console.log("不存在");
   }

(2).for循环

9*9乘法表
   document.write("9*9表<br>");
   for(var i=1;i<=9;i++){
	   for(var j=1;j<=i;j++){
		   document.write(j+"*"+i+"="+j*i+"\t");
	   }
	   document.write("<br>");
	   
   }  

(3).for in

 var person={
		 name:"zs",
		 age:18,
		 sex:"男"
   }
   for(x in person){
	   console.log(person[x]);//person.x 不起作用,可以使用person[name]
   }
   var array=["zs","ls","ww"];
   for(x in array){
	   console.log(array[x]);
   }
   var str="hello world";
   for(x in str){
	   console.log(str.charAt(x));
   }  
   for(var i=0;i<str.length;i++){
	   console.log(str.charAt(i));
   }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值