# 基础语法与其他语言的基础语法类似
书写语法
语法规则如下:
-
区分大小写:与 Java 一样,变量名、函数名以及其他一切东西都是区分大小写的
-
每行结尾的分号可有可无(建议加上)
-
大括号表示代码块
-
-
注释:
-
单行注释:// 注释内容
-
多行注释:/* 注释内容 */
-
输出语句
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JS-基础语法</title>
</head>
<body>
</body>
<script>
alert('JS');
// 浏览器弹出警告框
window.alert("window.alert");
// 写入HTML 在浏览器展示
document.write('document.write');
// 写入浏览器控制台
console.log('console.log');
</script>
</html>
浏览器警告框
浏览器展示,写入HTML
写入浏览器控制台
变量
在js中,变量的声明和java中还是不同的。首先js中主要通过如下3个关键字来声明变量的:
关键字 | 解释 |
---|---|
var | 早期ECMAScript5中用于变量声明的关键字 |
let | ECMAScript6中新增的用于变量声明的关键字,相比较var,let只在代码块内生效 |
const | 声明常量的,常量一旦声明,不能修改 |
var a = 20;
a = "张三";
JavaScript 是一门弱类型语言,变量可以存放不同类型的值 。所以可以使用var定义一个变量存储20也可以将字符串赋值给该变量。
变量名遵循的规则:
- 组成字符可以是任何字母、数字、下划线(_)或美元符号($)
- 数字不能开头
- 建议使用驼峰命名
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JS-基础语法-变量</title>
</head>
<body>
</body>
<script>
// var 定义
var a = 10;
a = "nishisha";
alert(a);
// 特点: var定义的变量属于全局变量 作用域很大
// 可以重复定义
{
var x = 1;
var = '123';
}
alert(x);
</script>
</html>
let定义的变量是局部变量,const定义的变量属于常量:
//let 局部变量 不能重复定义
{
let x = 1;
}
alert(x); //拿不到x
不能重复定义:
const :
数据类型
虽然js是弱数据类型的语言,但是js中也存在数据类型,js中的数据类型分为 :原始类型 和 引用类型,具体有如下类型
数据类型 | 描述 |
---|---|
number | 数字(整数、小数、NaN(Not a Number)) |
string | 字符串,单双引皆可 |
boolean | 布尔。true,false |
null | 对象为空 |
undefined | 当声明的变量未初始化时,该变量的默认值是 undefined |
使用typeof函数可以返回变量的数据类型,接下来我们需要通过书写代码来演示js中的数据类型。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JS-数据类型</title>
</head>
<body>
</body>
<script>
//原始数据类型
alert(typeof 3); //number
alert(typeof 3.14); //number
alert(typeof "A"); //string
alert(typeof 'Hello');//string
alert(typeof true); //boolean
alert(typeof false);//boolean
alert(typeof null); //object
var a ;
alert(typeof a); //undefined
</script>
</html>
运算符
js中的运算规则绝大多数还是和java中一致的,具体运算符如下:
运算规则 | 运算符 |
---|---|
算术运算符 | + , - , * , / , % , ++ , -- |
赋值运算符 | = , += , -= , *= , /= , %= |
比较运算符 | > , < , >= , <= , != , == , === 注意 == 会进行类型转换,=== 不会进行类型转换 |
逻辑运算符 | && , || , ! |
三元运算符 | 条件表达式 ? true_value: false_value |
接下来我们通过代码来演示js中的运算法,主要记忆js中和java中不一致的地方。
在js中,绝大多数的运算规则和java中是保持一致的,但是js中的==和===是有区别的。
- ==:只比较值是否相等,不区分数据类型,哪怕类型不一致,==也会自动转换类型进行值得比较
- ===:不光比较值,还要比较类型,如果类型不一致,直接返回false
js中可以通过parseInt()函数来进行将其他类型转换成数值类型。注释之前的代码,添加代码如下:
// 类型转换 - 其他类型转为数字
alert(parseInt("12")); //12
alert(parseInt("12A45")); //12
alert(parseInt("A45"));//NaN (not a number)
其他类型转换为boolean:
number : 0 和 NaN 为false,否则为true
String : 空字符串为fasle,否则为true
null和 undefined都是false
<script>
// a = 10;
// alert(a == '10');
// alert(a === '10');
alert(parseInt('100'));
if(" "){
alert("dasdasdas");
}
</script>
流程控制语句
与java一致。