javascript入门

js的使用方式


           script的type属性可以不写,如果要写的话使用  type="text/javascript"
            方式1:js的内部方式
            <script>
                    单行注释
                    多行注释
            
                    在js常见的函数
                    向浏览器打印内容,类似于Java中的控制台输出语句
                    document.write("hello,JavaScript我来了!") ;
            
                    还可以在浏览器中控制台中打印内容
                    console.log("hello,JavaScript我来了") ;
            
                    在浏览中弹出一个提示框  
                    window对象是浏览器中顶级对象,可以省略不写!
                    window.alert("helloworld") ;
                    简写为:
                    alert("helloworld") ;
        </script>
        
        方式2:外部方式 实际开发中(前端开发人员开发使用的!)
                 需要在js文件夹中单独创建一个后缀为.js的文件
                 书写js代码,在当前html页面中将js文件导入即可!
                         <script src="js/01.js"></script>

定义变量的注意事项


             1.在js中定义变量,使用var来定义,var可以省略不写(刚开始,建议写上)
             2.javascript是弱类型语言,它的语法结构不严谨! 可以重复定义变量的,后面的变量的值将                    前面的变量值覆盖掉
             3.查看js的变量的数据类型,使用一个函数 typeof(变量名)
             4.var可以任意数据类型!


 js的基本数据类型


             1.无论是整数还是小数,都是number类型, ---- js引擎会自动提升为 Number 对象类型
             2. 无论是字符串还是字符,都是string类型----js引擎会自动提升为 String 对象类型
             3.boolean类型                      ----js引擎会自动提升为 Boolean 对象类型
             4.object类型   (创建一个对象 )  ---- js引擎会自动提升为Object对象类型
                                 在Js中,Object对象代表所有js对象的模板!
             5.undefined类型 :未定义类型 (这种没有意义),因为没有赋值!

js是弱类型,语法结构不严谨
            true,false在运算的时候都自己默认值 true是1,false是0
            实际开发中,不会这样去做的,boolean类型值都是直接进行逻辑判断!
            算术运算符
                +,-,*,/,%
                ++,--
            赋值运算符
                =:基本赋值
                +=,-=,*=,/=,%=
            比较(关系运算符)
                <,<=,>,>=,==,!=
                
            逻辑运算符
                实际开发中:逻辑双与&&,逻辑双或||
            三元(三目)运算符
                    (表达式)?执行true的结果:false的结果

三大类结构


                1)顺序结构:js代码从上而下依次加载
                2)选择结构
                    if结构
                        if(表达式){
                            语句
                        }
                        
                        if(表达式){
                            
                        }else{
                            
                        }
                        
                        if(表达式1){
                            语句1;
                        }else if(表达式2){
                            语句2 ;
                            ...
                            ...
                        }else{
                            语句n;
                        }
                        
                    switch结构
                    
                            switch(表达式){
                            case 可以变量/也可以常量:
                                    语句1;
                                    break ;
                            ...
                            ...
                            default:
                                    语句n;
                                    break ;
                            }
                3)循环结构
                
                        for(使用居多),while(其次while),do-while

练习1:有一个文本输入框,文本输入框的旁边是一个可点击的按钮,
             在文本输入框中输入月份的值,点击按钮,判断是什么季节
                    3,4,5  春季
                    6,7,8  夏季
                    9,10,11 秋季
                    12,1,2 冬季

<!DOCTYPE html> <!-- 文档声明-->
<html>
	<head>
		<meta charset="utf-8">
		<title>流程语句练习</title>
	</head>
	<body>
		<input type="text" id="month" placeholder="请输入月份的值" />
		<input type="button" value="查询" onclick="testSerach()" />
	</body>
	<script>
			function testSerach(){
				//需要获取文本输入框的内容  获取的input标签的value属性
				//dom操作:  
				//1)通过特别的方式获取标签对象   最常用的 document.getElementById("id属性值") ;
				//2)使用标签对象改变标签的属性
				
				//获取id="month"所在的input标签对象
				var inputObject =document.getElementById("month") ;
				//获取到value属性,获取文输入框的内容
				var content = inputObject.value ;
				
				//alert(content) ;
				//alert(typeof(content)) ;
				
				
				//方式1:if...else if...else
				/*
				3,4,5  春季
				6,7,8  夏季
				9,10,11 秋季
				12,1,2 冬季
				*/
			   
			   //js中,数字字符串 在和number进行==,string会自动转换成number
			 /* if(content == 3 || content == 4 || content==5){
				   alert("春季") ;
			   }else if(content == 6 || content == 7 || content ==8){
				   alert("夏季") ;
			   }else if(content == 9 || content == 10 || content==11){
				   alert("秋季") ;
			   }else if(content == 12 || content ==1 || content == 2){
				   alert("冬季") ;
			   }else{
				   alert("对不起,非法数据!") ;
			   } */
				
				
				//方式2:switch语句,利用case穿透
				//case语句后面: string类型数字字符串 无法自动转换为number进行对比
				//js中有一个函数: js提供的 parseInt(数字字符串) ----->number类型
				
				content = parseInt(content) ;
				//alert(typeof(content)) ;
				
				
				switch(content){
				case 3:
				case 4:
				case 5:
						alert("春季") ;
						break ;
				case 6:
				case 7:
				case 8:
						alert("夏季") ;
						break ;	
				case 9:
				case 10:
				case 11:
						alert("秋季") ;
						break ;	
				case 12:
				case 1:
				case 2:
						alert("冬季") ;
						break ;
				default:
						alert("非法数据") ;
						break ;
				}
				
				
				
				
			}
	</script>
</html>

<!-- 
	Js事件编程三要素
	1)事件源 ----就是html标签  的单击,双击....
						
	
	2)编写事件监听器-- 就是编写一个函数	 function 函数名称(){}
			
	3)绑定事件监听器-- 就在事件源上加上onxxx属性="函数名称()"
 
 -->

for-in

类似于增强for循环
            应用场景:
                1)遍历数组
                2)遍历对象的属性 (明天讲:js自定义对象 4种方式)
  
            在js如何 创建一个数组
                    方式1:  var 数组对象 = new Array() ;  //不指定长度
                    方式2: var 数组对象 = new Array(长度) ;//指定长度
                                    var arr = new Array(2) ; 
                    普通for
                                    for(var i = 0 ; i < arr.length; i++){
                                        document.write(arr[i]+"<br/>") ;
                                    } 
            
                    方式3:静态初始化,
                            arrayObj = new Array([element0[, element1[, ...[, elementN]]]])
                            简写格式  :var 数组对象名称=  [元素1,元素2,元素3,.....] ;
                            在js中,数组可以存储任何类型元素,实际开发中,还是遵循数据类型一致!

    for-in语句的格式
                for(var 变量名 in 数组或者对象名称){
                    使用变量名;
                }
    定义函数的 格式1                
                        function 函数名称(参数名称1,参数名称2....){
                            函数的里面业务逻辑
                            直接在这输出document.write("xxx") ;
                        }
                        格式1调用:
                            单独调用
                            函数名称(实际参数列表) ;
              
                格式2:(推荐)
                        function 函数名称(形式参数列表){
                            
                            函数的里面的业务逻辑
                            return 结果;
                        }
                        格式2调用:
                        赋值调用
                        var 最终结果变量 = 函数名称(实际参数列表) ;    
                定义函数的注意事项:
                1)js是弱类型语言,定义函数的时候,参数名称不能携带var
                2)js定义时候,没有返回值类型,但是函数中可以携带return语句,代表方法结束!
                3)Js中没有函数重载的概念,如果方法名相同,后面定义的函数将前面定义的函数覆盖了    
                4)实际参数列表 < 形式参数列表,函数依然会被调用,不过值是"NaN",有一个形式参数没 有赋值
                    实际参数列表 > 形式参数列表,将实际参数的值赋值给形式参数,多余的实际参数,直接省略不计!
                5)隐藏一个数组名称:arguments,作用:将实际参数绑定给形式参数   

Js内置对象:Date日期,String字符串,Array数组,正则表达式对象..
            浏览器在解析javascript的时候,能够识别这个对象,使用里面的方法!  

练习2:

date:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>08_Js内置对象Date</title>
		
		 <script>
			//日期对象的基本使用 :dateObj = new Date()
			//创建一个日期对象
			var date = new Date() ;
			//输出
			//document.write(date) ;//Mon May 09 2022 16:40:31 GMT+0800 (中国标准时间)  原生Date格式
			
			
			//获取年份
			//getYear() :当前的年份与 1900 年之间的差距
			//改用getFullYear()
			//var year = date.getYear() ;
			var year = date.getFullYear() ;
			document.write(year+"年") ;
			
			
			//获取月份
			//getMonth() :返回一个处于 0 到 11 之间的整数
			var month = date.getMonth()+1 ;
			document.write(month+"月") ;
			
			//月中的日期 getDate( ): 1 到 31 之间的整数
			var monthWithDate = date.getDate() ;
			document.write(monthWithDate+"日&nbsp;&nbsp;") ;
			
			//getHours() 获取小时值
			document.write(date.getHours()+":") ;
			//getMinutes():获取分钟值
			document.write(date.getMinutes()+":") ;
			//getSeconds() :getSeconds()
			document.write(date.getSeconds()) ;
		 </script>
	</head>
	<body>
	</body>
</html>

 面试题_innerText和innerHTML属性有什么区别?

            任何标签都有这俩个innerText和innerHTML属性
            这两个属性代表设置标签的文本内容
            innerHTML可以加入html标签,可以被解析 (推荐)
            innerText只是普通的文本内容,不能够解析html标签,如果加入html标签
            就会原封不动的解析成普通文本!

练习3:

网页时钟:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>10_网页时钟</title>
	</head>
	<body>
		<h3>当前系统时间是:</h3>
		<span id="spanTip"></span>
	</body>
	<script>
		function generateDate(){
			//1)获取当前系统时间
			//1.1)创建日期对象
			var date = new Date() ;
			//1.2)拼接出来时间字符串
			var dateStr = date.getFullYear()+"-"+(date.getMonth()+1)+"-"
			+date.getDate()+"&nbsp;&nbsp;"+date.getHours()+":"+date.getMinutes()+":"+
			date.getSeconds() ;
			
			//2)dom(文档对象模型编程)操作: 
			//2.1)获取id="spanTip" 所在的span标签对象
			var span = document.getElementById("spanTip") ;
			//2.2)设置span标签的文本内容
			span.innerHTML ="<h3>"+dateStr+"</h3>"  ;
		}
     		//3)开启网页定时器
			//setInterval("定时任务()",时间毫秒值):每经过时间毫秒值重复执行这个定时任务..
			//setTimeout("定时任务()",时间毫秒值):经过这个毫秒值之后,执行一次定时任务..
			setInterval("generateDate()",1000) ; //每1秒重复执行生成时间的任务
	</script>
</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值