day_33_JavaScript 变量、数据类型、运算、流程控制
一、javaScript介绍:
java是服务器的编程语言,JavaScript是运行客户端(浏览器)的脚本语言语言。
JavaScript的组成:
(1)ECMAScript:ECMA欧洲计算机制造联合会。JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标准,定义了一种语言的标准与具体实现无关。
(2)BOM-浏览器对象模型:一套操作浏览器功能的API。通过BOM可以操作浏览器窗口,比如弹出框,控制浏览器跳转,获取分辨率等。Borswer object model
(3)DOM-文档对象模型:一套操作页面元素的API。DOM可以把HTML看做是文档树,通过DOM-提供的API可以对树上的节点进行操作。Document object model
二、javaScript 变量
(1)、变量引入
什么是变量?
变量是计算机中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
为什么要使用变量?
使用变量可以方便的获取或者修改内存中的数据
(2)、变量的声明和初始化
var声明变量/赋值/声明多个变量并赋值
var age;
var age = 18;
var age,name,sex;
name = ;
age = ;
(3)变量的命名规则和使用规范
规则-必须遵守的,不遵守会报错
1、由字符、数字、下划线、$符号组成,不能以数字开头
2、不能是关键字和保留字,例如for和while
3、区分大小写
规范-建议遵守的不遵守不会报错
1、变量名必须有意义
2、遵守驼峰命名。首字母小写,后面单词的首字母大写
(4)字面量
在源代码中有一个固定值的表示法也叫字面量。
数字字面量8,9,10
字符串字面量:“java”,“前端”
布尔字面量:true,false
课堂练习交换两个变量的值:
var a,b,c;
a = 1;
b = 2;
c = a;
a = b;
b = c;
console.log(b);
console.log(a);
三、javaScript基本数据类型
基本数据类型
Number、String、Boolean、Undefined、Null
(1)、Number类型
数值字面量:数值的固定表示方法,例如110
注意:不能判断两个浮点数是否相等
就是说由于0.1转换成二进制时是无限循环的,所以在计算机中0.1只能存储一个近似值
最小值:Number.MIN_VALUE,这个值为:5e-234
最大值:Number.MAX_VALUE,这个值为:1.7976931348623157e+308
无穷大:nfinity
无穷小:-nfinity
数值判断:
NaN:not a number(可以通过Number 方法判断)
NaN与任何值都不相等,包括他本身
isNaN():is not a number(是数字返回true ,如果是数字返回false)
console.log(Number.MAX_VALUE);
var num;
//判断是否是NaN
console.log(isNaN(num));//true
console.log(typeof num);//undefined
console.log(num+2);//NaN
console.log(isNaN(num + 2));//true
console.log(typeof num+2);//undefined
console.log(Infinity);//Infinity
console.log(isNaN(Infinity));//false
console.log(typeof Infinity);//number
var str = "123";
console.log(Number(str));//123
console.log(Number("01234"));//1234
console.log(Number("2.2"));//2.2
console.log(Number("12a"));//NaN
console.log(Number("Ox1f"));//31
//转换为整数碰到非数字就终止
console.log(parseInt("1.2"));//1
console.log(parseInt("12a2"));//12
console.log(parseInt("a12a2"));//NaN
//同上可以识别一个小数点
console.log(parseFloat("1.2.3"));//1.2
console.log(parseFloat("12.2a3"));//12.2
console.log(parseFloat("a1.2.3"));//NaN
console.log("123.2"-0);//123.2
console.log(+"123");//123
console.log(-"123");//123
(2)、String类型
字符串可以使用单引号也可以使用双引号,例如:“abc”,'abc'
字符串长度:
length属性用来获取字符串长度
var str = 'Hello World';
console.log(str.length);
字符串拼接:
字符串使用+拼接,两边只要有一个字符串那么就是用+号拼接,两边如果是数字就是算数功能
var str = "222";
var str1 = "11";
console.log(str+str1);//22211
console.log(typeof 222);//number
console.log(typeof "222");//string
console.log("xassdd".length);//6
console.log("123"+22);//12322
(3)Boolean类型
Boolean字面量: true和false,区分大小写
计算机内部存储:true为1,false为0
var a = true;
a = false;
//true是1 false 为0 并且可以参与运算
console.log(true+2);//3
//boolean
console.log(typeof true);//boolean
//boolean 可以把其他的类型转换为Boolean类型
//数字非0为true,字符串非""空字符串为true 非null非NaN非undefined是true
console.log(Boolean(-1));//true
console.log(Boolean(0));//false
console.log(Boolean(32));//true
console.log(Boolean("abcd"));//true
console.log(Boolean(""));//false
console.log(Boolean(" "));//true
console.log(Boolean(false));//false
console.log(Boolean(true));true
console.log(Boolean(null));//false
console.log(Boolean(NaN));//false
console.log(Boolean(undefined));//false
//创建对象,而对象非null是true,只不过这个对象中保存的数据是false而已
//那么如果我们把Obj这个对象转换为Boolean类型的是,肯定是true
//可以通过Obj的valueOf()的方法 把对象把偶才能的Boolean类型的值取出来
var obj = new Boolean(false)
console.log(obj);
console.log(obj.valueOf());
if(obj){
console.log("是true");
}else{
console.log("是false");
}
//可以自动转换为Boolean类型
if(0){
console.log("真的");
}
console.log(typeof obj);
console.log(typeof null);
var str = String(null);
console.log(typeof str);
var num = 12;
//转换为String类型
console.log(typeof num.toString());
(4)Undefined和Null
undefined表示一个声明了的变量,变量只声明的时候默认是undefined
null表示一个空,变量的值如果是null必须手动赋值
var s = null;
(5)、运算符优先级
括号>点运算符>一元运算符> 算数运算符 >关系运算符>相等运算符>逻辑运算符 >赋值运算符
注意:同级运算符先后顺序如下:
一元运算符 ++ -- !
算数运算符 先* / % 后 + -
关系运算符 > >= < <=
相等运算符 == != === !==
逻辑运算符 先&& 后||
四、流程控制(同java相同)