一、变量:var、let、const
JS中声明一个对象时使用var
、let
、const
-
var声明的是全局的变量,可重复多次声明
//1.可灵活变在string、number、boolen等类型间转换 var test1='111'; test1=33; //2.同一个变量可重复声明 var test1='222'; //3.全局变量
-
let声明的是所属区域的变量,不能重复声明
//1.可灵活变换 let test2='222'; test2=33 //2.同一个变量不能重复声明 //let test2='333' 错误:因为test2已经定义了 //3.声明有范围,不是全局变量 //括号里的test2使用范围只限在括号里。出了括号就不是了 // { // let test2 = '222'; // test2 = 33 // } // let test2;
-
const声明常量,定义后不能改变
//在声明时需要赋值 const test3='333'
二、数据类型:number、string、Boolean、null、undefined
5种数据类型
JS有number、string、boolean、null、undefined五种类型
number:有整数、小数、NaN(Not a number) 三种类型
string:可用单引号、双引号声明,如:var ***test1***="aa"
或var ***test1***='aa'
undefined:JS中没有声明的变量都是undefined
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--JS中可以使用typeof来判断数据类型-->
<script>
// number
// var age = 20;
// var price = 99.8;
// alert(typeof age);
// alert(typeof price);
//string
// var ch = 'a';
// var name = '张三';
// var addr = "北京";
//
// alert(typeof ch);
// alert(typeof name);
// alert(typeof addr);
//
// //boolean
// var flag = true;
// var flag2 = false;
//
// alert(typeof flag);
// alert(typeof flag2);
//
// //null
// var obj = null;
//
// alert(typeof obj);//object
//因为JS原始的错误,所以弹出来的是object,沿用至今
//
// //undefined
var a ;
alert(typeof a);
</script>
</body>
</html>
不同类型间的转换
* 其他类型转为number:
1. string: 按照字符串的字面值,转为数字.如果字面值不是数字,则转为NaN。一般使用parseInt
2. boolean: true 转为1,false转为0
* 其他类型转为boolean:
1. number:0和NaN转为false,其他的数字转为true
2. string:空字符串转为false,其他的字符串转为true
3. null:false
4. undefined:false
// 转数字例子
// 转的规则按上所述
//方式1:在前面加”+“,按上面的方式转为数字
var str = +"20";
alert(str + 1) // 21 数字20+1=21
var str2 = "20"
alert(srt + 1) // 201 用字符串'20'和'1'拼接
var flag = +false;
alert(flag); // 0
//方式2:用parseInt()方法转为int(这种方式更规范,推荐)
alert(parseInt(str) + 1);
//转Boolean例子
var flag = 3;
var flag = "";
var flag = undefined;
if(flag){
alert("转为true");
}else {
alert("转为false");
}
三、函数
形式参数不需要类型,返回值也不需要定义类型
因为JavaScript是弱类型语言。都是var属性,没必要加
function add(a, b){
return a + b;
}
1. 函数两种定义方式
-
方式1
//样式 function 函数名(参数1,参数2..){ 要执行的代码 } //例子 function add(a,b){ return a + b; } var result = add(1,2); alert(result);
-
方式2
//样式 var 函数名 = function (参数列表){ 要执行的代码 } //例子 var add = function (a,b){ return a + b; } var result = add(1,2); alert(result);
2. 函数调用:传参可以任意数,不用和形参个数一样
function add(a,b){
return a + b;
}
var result= add(1,2);
alert(result); // 3
var result1= add(1,2,3);
alert(result1) // 3
// 因为参数b没有传入参数,所以b为NaN,a为1
// 1+NaN=NaN
var result2= add(1);
alert(result2); // NaN
四、运算符
JS的运算符和Java的运算符一样,但多了===
运算符
和=运算符的区别
- ==:等于
- 判断类型是否一样,如果不一样,则进行类型转换
- 再去比较其值
- ===:js 中的全等于
- 判断类型是否一样,如果不一样,直接返回false
- 再去比较其值
var age1 = 20;
var age2 = "20";
alert(age1 == age2);// 等于 true
alert(age1 === age2);// 全等于 false
五、流程控制语句
JS 的流程控制语句和 Java 一样