JS入门之数据类型及常用语句

JavaScript学习笔记



JavaScript的基本使用(二)

一、变量

变量:JavaScript是一门弱类型的语言,它没有明确的数据类型,使用var(varialbe)关键字进行变量声明,变量的类型由赋给的值所决定

  1. 变量名的命名规则跟其他编程语言类似,但首字母必须为字母
  2. JavaScript的变量可以先声明再赋值,可以在声明的同时为变量赋值,可以同时声明多个变量
  3. 变量的命名区分大小写
  4. 一般情况下变量的命名使用小驼峰命名法,如:myName

注意!变量的声明有坑,推荐变量声明加上var关键字

 在JS中变量有全局变量和局部变量之分,
 当在函数内部变量没有声明而直接赋值使用时,变量是全局变量,举例如下:
// 当前使用了下函数的调用,后面会学到,跟其他语言的方法差不多
 function fn() {
            var num1 = 10;
            num2 = 20;
        }
        fn();
        console.log(num2);
        console.log(num1);

在这里插入图片描述

可以看到,在函数内部声明了两个变量,num2可以正常输出,
接着程序就报错了,因为num2是全局变量,而num1是局部变量,
所以在执行打印num1时会报未定义错误,num1只能在函数内部执行

二、数据类型

  1. string(字符串类型)
  2. number(数值类型,支持整数、浮点数、八/十六进制(0/0x开头)
  3. boolean(布尔类型、值为true或false)
    ----特殊:Infinity(无穷大),Nan(非数字)
  4. object(引用类型:object、array、function)
  5. undefined(未定义类型)
  6. null(空类型)

类型查看使用typeof()函数

// 示例
var a = "abc";  
console.log(typeof(a)); //输出string
//注意!null返回为object
var a = null;  
console.log(typeof(a)); //输出object

三、数据类型转换

1、隐式转换(自动转换,不需要人为干预,不推荐,容易出问题)
2、显示转换(强制类型转换,推荐)
3、转换函数

一、转换为数字
// 1、parseInt()有两个参数,第二个可选,视为进制转化
parseInt("123"); //123  
parseInt("123.4"); //123  
parseInt("123abc123"); //123  
parseInt("abc123"); // NaN 
parseInt()进制转化(两个参数)
parseInt("11",16);   
//将11视为16进制,转换为十进制后输出17 
// 2、parseFloat()
parseFloat("123"); //123  
parseFloat("123.4"); //123.4 
//3、Number()
Number("123"); //123  
Number("123.4"); //123.4  
Number("123a"); // NaN 
//Number也可以转换布尔值和null
//
Number(true); //1  
Number(false); //0  
Number(null); //0  
Number(""); //0 
二、转换为字符串
//String()
var a = 1;  
var b = String(a);  
console.log(b); //输出字符串"1" 
//toString()
var a = 1;  
var b = a.toString();  
console.log(b); //输出字符串"1" 

区别:在执行字符串转换时,如果变量未初始化,就使用不了toString()方法,程序就会报错,但是使用String()函数强转时变量会有默认值undefined,可以正常输出,示例如下:

var a;  
var b = String(a);  
console.log(b); //输出字符串"undefined"  
var c = a.toString() //报错  

在这里插入图片描述

三、转换为布尔值
//Boolean()
Boolean();   
Boolean(0);  
Boolean(null);  ------这些返回false,其余的都返回true------
Boolean(""); 
Boolean(undefined);  
Boolean(false);  
Boolean(NaN);  

四、运算符及判断语句

一、运算符

在这里插入图片描述
注意:

  1. 使用==时,只比较值是否相等
var a = 1, b = "1";  
a==b; //true  
a===b; //false 
  1. 使用+或+=时,当其中一个值为字符串时,会把另一个值转换为字符串再进行拼接
var a = 1, b = "abc";  
console.log(a + b); //输出字符串1abc
  1. 当相加的两个值为数字、布尔值、null时,会把布尔值和null转换为数字再相加
var a = null, b = true;  
console.log(a + b); //输出数字1
二、判断语句
通过各种条件判断语句可以实现很多功能,我们一起来看看吧!
1、IF语句
if (条件表达式) {  		
    //js语句1  		
} else {  			-----格式-----			
    //js语句2  									
} 

注:if语句可以嵌套,当js语句只有一条时可以省略不写,但是不推荐,因为容易出现错误,保险起见最好写上括号

var age = prompt('请输入你的年龄:') 
if (age >= 18) {  
    console.log("你已成年,可以进网吧!");  
} else {  
    console.log("孩子,未成年不能进网吧!");  
}
2、三元表达式
(条件表达式) ? (js语句1) : (js语句2)------格式------

注:三元表达式可以嵌套,有时候比if语句更好用哟

var age = 20;  
age > 18 ? console.log("已成年") : console.log("未成年");
3、SWITCH语句
switch(表达式){  
    case 值1:  
    //JS语句1  
    break;  
    case 值2:  
    //JS语句2  			------格式------
    break;  
    default:  
    //JS语句3  
    break;  
} 

注:break的功能是跳出,可有可无,有需要就写。default语句也是可有可无,当没有相匹配的case时,执行default语句
代码如下(示例):

var grade = parseInt(num / 10)  
switch (grade) {  
    case 10:  
    case 9:  
        alert("优秀");  
        break;  
    case 8:  
        alert("良好");  
        break;  
    case 7:  
        alert("中等");  
        break;  
    case 6:  
        alert("及格");  
        break;  
    default:  
        alert("不及格");  
        break;  
} 

五、巩固练习

在这里插入图片描述

本练习需要综合应用所学知识,通过多种条件的综合判断,完成上述要求。
重点难点:闰年的判断,范围的约束以及代码逻辑的整理
参考代码如下,答案不唯一
<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<title></title>
</head>

<body>
	<script type="text/javascript">
		var year = Number(prompt("请输入年份:"))
		while (year <= 0 || isNaN(year)) {
			alert("年份输入有误,请重新输入")
			year = Number(prompt("请输入年份:"))
		}
		var month = Number(prompt("请输入月份"))
		while (month <= 0 || isNaN(month)) {
			alert("月份输入有误,请重新输入")
			year = Number(prompt("请输入月份:"))
		}
		switch (month) {
			case 2:
				if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
					alert("该月共有29天!")
				} else {
					alert("该月共有28天!")
				} break;
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				alert("该月共有31天!")
				break;
			case 4:
			case 5:
			case 9:
			case 11:
				alert("该月共有30天!")
				break;
		}
	</script>
</body>

</html>

总结

本节主要记录了变量的基本使用以及条件判断语句的语法及应用,巩固练习需要综合应用相关知识,逻辑思路要清晰

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值