JavaScript -- 语法和数据类型
前戏
前面学了HTML和CSS相关的知识,那JavaScript是做什么的呢?你在网页上看到的那些炫酷的特效都是通过JS来实现的,所以,想要开发一个逼格满满的web页面,JS是必须要会的
什么是JavaScript
Javascript是一种基于对象和事件驱动的客户端脚本语言最初的设计是为了检验HTML表单输入的正确性。
在HTML中使用 Javascript可以在head或body中使用< script>嵌入 Javascript脚本
JS的注释
单行注释 //
多行注释 /*要注释的内容*/
语句结東使用分号,如果省略,则由解析器确定语句的结尾。在JS中,变量,函数,操作符都是区分大小写的
JS的标识符
1、什么是标识符?
变量、函数、属性的名字,或者函数的参数。
2、标识符的命名规则
(1)、由字母、数字、下划线(_)或美元符号($)组成
(2)、不能以数字开头
(3)、不能使用关键字、保留字等作为标识符
变量的声明与赋值
1、变量声明
变量的声明要使用Var操作符 语法:Var 变量名
2、变量赋值:声明的同时赋值:Var变量名=值 先声明后赋值:变量名=值
3、一次声明多个变量,用逗号隔开
说明:
1、省略var声明的变量是全局变量
2、不推荐省略var操作符来定义全局变量
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> </head> <body> <script> //先声明变量,后给变量赋值 var name; name = "邹邹"; //声明的同时赋值 var age = 18; //一次声明多个变量 var job = "IT",sex; </script> </body> </html>
数据类型
Javascript有5种简单数据类型(也称为基本数据类型): Undefined、Nul、 Boolean、 Number和String还有1种复杂数据类型: Object。
typeof
语法: typeof 变量或 typeof(变量)
功能:检测变量类型
返回值: string类型,有可能是string、 number、 boolean、 object、 undefined、function
先来学看一下console.log(),是在控制台打印,想当与python中的print(),我们来打印一下上面变量的数据类型
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> </head> <body> <script> //先声明变量,后给变量赋值 var name; name = "邹邹"; //声明的同时赋值 var age = 18; //一次声明多个变量 var job = "IT",sex; console.log("变量的数据类型")
console.log(typeof name)
console.log(typeof(age))
console.log(typeof(sex)) </script> </body> </html>
进入浏览器的开发者模式里,可以看到打印出的信息
undefined
undefined类型只有一个值,即特殊的undefined。
说明:一般而言,不存在需要显式地把一个变量设置为undefined值的情况
null
1、null值表示一个空对象指针
2、如果定义的变量准备在将来用于保存对象,那么最好将改变量初
始化为null而不是其他值。
说明:undefined值是派生自null值的,所以undefined==null的返回结果是true。
NumberNumber:表示整数和浮点数
NaN:即非数值(Not a Number)是一个特殊的数值
说明:
1、任何涉及NaN的操作(例如NaN/10)都会返回NaN。
2、NaN与任何值都不相等,包括NaN本身。
var name = "邹邹";
var age = 18;
console.log(age - "abc");
console.log(age + 14);
结果:
NaN
32
isNaN()
语法:isNaN(n)
- 功能:检测n是否是“非数值”
- 返回值:boolean
- 参数:参数n可以是任何类型
var id = '88';
var name = "邹邹";
var age = 18;
console.log(isNaN(id));
console.log(isNaN(name));
console.log(isNaN(age));
结果:
false
true
false
说明:isNaN()在接收到一个值之后,会尝试将这个值转换为数值。某些不是数值的值会直接转换为数值。
数值转换
有3个函数可以把非数值转换为数值:Number()、parseInt()和parseFloat()。其中Number()可以用于任何数据类型,而parseInt()和parseFloat()则专门用于把字符串转换成数值。
parseInt()
parseInt() :会忽略字符串前面的空格,直至找到第一个非空格字符。
说明:
1、parseInt():转换空字符串返回NaN。
2、parseInt()这个函数提供第二个参数:转换时使用的基数(即多少进制)
parseInt("00123");
parseInt("123aaa");
parseInt("aaa123");
parseInt("123.456");
结果:
123
NaN
123
123
parseFloat()
parseFloat:从第一个字符开始解析每个字符,直至遇见一个无效的浮点数字符为止
说明:
除了第一个小数点有效外,parseFloat()与parseInt()的第二个区别在于它始终都会忽略前导的零。
console.log(parseFloat("00123"));
console.log(parseFloat("123aaa"));
console.log(parseFloat("aaa123"));
console.log(parseFloat("123.456.55"));
结果:
123
123
NaN
123.456
String
String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(”)或单引号(’)表示。
toString()与String()
- 语法:str.toString()
- 功能:将str转换为字符串
- 返回值:str的一个副本
- 参数:str是要转换的内容,可以是数值、布尔值、对象和字符串。
说明: 在不知道要转换的值是不是null或undefined的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串。
var age = 18;
typeof(age.toString());
typeof(String(age));
结果:
string
string
Boolean
用于表示真假的类型,即true表示真,false表示假
- 除0之外的所有数字,转换为布尔型都为true
- 除””之外的所有字符,转换为布尔型都为true
- null和undefined转换为布尔型为false