前端核心技术-JavaScript基础语法
学习目标
- 掌握JavaScript基础语法的使用
- 掌握JavaScript注释的使用
- 掌握JavaScript变量的使用
重点
- 掌握JavaScript变量的类型和定义和使用
- 掌握JavaScript运算符的使用
重点
难点
- 掌握JavaScript函数的简单使用
重点
JavaScript引入
外部样式
使用<script></script>
标签引入外部文件
<script src="/js.js" type="text/javascript" charset="utf-8"></script>
内部引入
使用<script></script>
标签直接写代码
<script type="text/javascript" charset="utf-8">
// 代码
</script>
JavaScript 语句
单行注释
单行注释以 // 开头。//后面的同一行的内容全部变成注释,注释会被浏览器忽略掉,而不执行,一般起解释说明的作用
如:
<script type="text/javascript">
//单行注释
//下面这条语句在浏览器中输出并显示“你好”两个字
document.write("你好");
</script>
多行注释
多行注释以 /*
开始,以 */
结尾。
如:
<script type="text/javascript">
/**
* 多行注释
* 下面这条语句在浏览器中输出并显示“你好”两个字
*/
document.write("你好");
</script>
JavaScript 变量
变量是用于存储信息的"容器"。作用就是用于存储代码中使用到的数据。
就像代数那样
x=5
y=6
z=x+y
变量命名规则:
- 变量只能包含
字母
、数字
、_
、$
- 变量必须不能以
数字
开头,因为大多数浏览器不支持 - 变量名称对大小写敏感(y 和 Y 是不同的变量)
变量创建
创建(声明)变量,可使用var
关键词来声明变量,var
可以省略
如:
var carname;
变量声明之后,该变量是空的(它没有值)。
变量赋值
赋值就是存储,将某个值存储这个变量中存储起来,而且可以对一个变量反复赋值。
如:
name = "张三"; // 赋值: 将"张三"存入变量中
name = "李四"; // 赋值: 将"李四"存入变量中
最终变量name
的值是最后一次存储的值"你好"
注:也可以在声明变量时对其赋值:
var name = "张三";
给name
这个变量设置之为 “张三” ,也可以理解为把 “张三” 这个文字保存在 name 变量中。
变量使用
使用变量可以通过变量的名称直接使用,可以用于计算、输出显示等
变量数据类型
JavaScript 数据类型有以下几种
- 字符串(String)
- 数字(Number)
- 布尔(Boolean)
- 数组(Array)
- 对象(Object)
- 空(Null)
- 未定义(未赋值)(Undefined)
字符串
字符串用来存储字符和文字的变量。使用单引号或双引号:
如:
var name="阿百川";
var name='兵工厂';
您可以在字符串中嵌套使用单双引号,只要不匹配包围字符串的引号即可:
如:
var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';
数字
数字类型只能用来保存数字:
如:
var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
极大或极小的数字可以通过科学(指数)计数法来书写:
如:
var y=123e5; // 12300000
var z=123e-5; // 0.00123
布尔
布尔常用于判断或者设置状态,布尔(逻辑)只能有两个值:true
或 false
。布尔类型可以转换成0、1、‘0’、"1"等
如:
var x=true; // 1
var y=false; // 0
数组
数组用于保存多个数据,如会员的姓名、用户名、密码、手机号等等。
下面的代码创建名为 user 的数组:
var user = new Array();
user[0]="张三";
user[1]="zhang";
user[2]="123456";
user[3]="13592769132";
或者
var user = new Array("张三"," zhang ","123456","13592769132");
或者
var user = ["张三"," zhang ","123456","13592769132"];
数组下标从0开始,所以第一个是 [0],第二个是 [1],以此类推。
对象
对象不仅可以保存普通数据,还可以保存代码操作功能。
class studennt{
constructor(x,y){
this.x = x;
this.y = y;
}
}
Undefined 和 Null
Undefined 表示基本数据类型不含有值。
null 表示引用 数据类型没有值。
JavaScript 运算符
赋值运算符
假设 y = 5;
,x = 10
运算符 | 例子 | 等同于 | 运算结果 |
---|---|---|---|
= | x=y | x=5 | |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
算术运算符
假设 y = 5;
运算符 | 描述 | 例子 | x 运算结果 | y 运算结果 |
---|---|---|---|---|
+ | 加法 | x=y+2 | 7 | 5 |
- | 减法 | x=y-2 | 3 | 5 |
* | 乘法 | x=y*2 | 10 | 5 |
/ | 除法(商) | x=y/2 | 2.5 | 5 |
% | 取模(求余数) | x=y%2 | 1 | 5 |
++ | 自增 | x=++y | 6 | 6 |
x=y++ | 5 | 6 | ||
-- | 自减 | x=--y | 4 | 4 |
x=y-- | 5 | 4 |
比较运算符
运算符 | 描述 | 比较 | 返回值 |
---|---|---|---|
== | 等于(值) | x==8 | false |
x==5 | true | ||
=== | 绝对等于(值和类型均相等) | x==="5" | false |
x===5 | true | ||
!= | 不等于 | x!=8 | true |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | x!=="5" | true |
x!==5 | false | ||
> | 大于 | x>8 | false |
< | 小于 | x<8 | true |
>= | 大于或等于 | x>=8 | false |
<= | 小于或等于 | x<=8 | true |
逻辑运算符
运算符 | 描述 | 例子 |
---|---|---|
&& | And 与 | (x < 10 && y > 1) 为 true |
| | | ||
! | Not 非 | !(x==y) 为 true |
条件运算符
条件运算符可以用于艰简单的判断
语法
var name = condition ? value1 : value2;
如:
如果变量 age 中的值小于 18,则向变量 voteable 赋值 “年龄太小”,否则赋值 “年龄已达到”。
var teable = ( age <18 ) ? "年龄太小" : "年龄已达到";
运算类型 | 运算符 |
---|---|
圆括号 | ( ) |
成员访问 | . |
需计算的成员访问 | [ ] |
new (带参数列表) | new ( ) |
函数调用 | ( ) |
new (无参数列表) | new |
后置递增(运算符在后) | a++ |
后置递减(运算符在后) | a-- |
逻辑非 | ! |
前置递增 | ++a |
前置递减 | --a |
typeof | typeof |
void | void |
delete | delete |
await | await |
幂 | ** |
乘法 | * |
除法 | / |
取模 | % |
加法 | + |
减法 | - |
按位左移 | << |
按位右移 | >> |
无符号右移 | >>> |
小于 | < |
小于等于 | <= |
大于 | > |
大于等于 | >= |
in | in |
instanceof | instanceof |
等号 | == |
非等号 | ~= |
全等号 | === |
非全等号 | !== |
按位与 | & |
按位异或 | ^ |
按位或 | ` |
逻辑与 | && |
逻辑或 | ` |
条件运算符 | ? : |
赋值 | = |
+= | += |
-= | -= |
*= | *= |
/= | /= |
%= | %= |
<<= | <<= |
>>= | >>= |
>>>= | >>>= |
&= | &= |
^= | ^= |
| = | |
yield | yield |
yield* | yield* |
展开运算符 | ... |
逗号 | , |
如:
//1、定义(申明)变量
var a;
var b;
var c;
var t;
//2、赋值
a = "1";//string
b = 45;//number
c = true;//1
//3、使用
// 1
t = (!c || a > 100) || b < 100 && b > a || a >= 6 && b !== a;
document.write(t);//true
//2
t = c && (a != c && b < 100 || b > 1 && (!c || a == c) && a === c)?a++ - --b:!c;
document.write(t);//false
JavaScript 函数基础
函数就是包裹在花括号中的代码块,使用了关键词 function
:关键词 function
必须是小写的
function functionname(){
执行代码
}
函数的使用,通过方法名+括号来
使用方法,如:
functionname();
这句代码就是使用方法名为**functionname
**的方法,必须加上()
,()
是函数的标志,不可不写。
方法最简单的功能就是将一部分代码放到一起,组成一个代码快,在需要的时候直接执行。因此,方法在写好后是不会自动执行的,除非使用方法,方法里面的代码才会被执行
可以在HTML元素的点击事件中使用方法,HTML的点击事件就是onclick
属性。如:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--在onclick属性中使用方法-->
<button onclick="sum()">点击可计算10+20的结果</button>
</body>
<script type="text/javascript">
//通过关键字function来定义方法,方法名后面必须跟()
function sum(){
var a = 10;
var b = 20;
var c = a + b;
alert(c)
}
</script>
</html>
JavaScript与HTML
JavaScript只有配合HTML才能发挥其最大的作用,而document
对象就是JavaScript
和HTML
相互结合的关键点。通过document
对象可以获取和设置HTML元素,实现各种功能。如:
通过ID
属性获取HTML
元素,只能获取第一个:
var e = document.getElementById('name');
如果是表单输入元素,使用value属性来获取和设置元素的值:
var v = document.getElementById('name').value;
document.getElementById('name').value ='张三465';
如果是普通双标签,则使用innerHTML或者innerText来获取和设置元素的内容
var v = document.getElementById('name').innerHTML;
document.getElementById('name').innerHTML = '张三';
或者
var v = document.getElementById('name').innerText;
document.getElementById('name').innerText = '张三';