第2章 JavaScript语法

准备工作

  • 编写js需要准备一个编译器和游览器,js必须通过HTML/XHTML文档编写

js的编写位置

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
    <script>
        ...
    </script>
</head>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
    <!--  外部引入js -->
   	<script src="./index.js"></script>		
</head>

<body>
    
   	// 更为推荐的编写位置,这样能使浏览器更快地加载页面
   	<script src="./index.js"></script>	
</body>

编程语言

  • 程序设计语言分为解释型和编译型两大类
  • 编译型语言需要一个编译器把语言编写出来的源代码翻译为直接在计算机上执行的文件。
  • 解释型语言需要一个解释器,对于js而言游览器中的JavaScript解释器将直接读入源代码并执行
  • 用编译型语言编写的代码有错误,这些错误在代码编译阶段就能被发现。而解释型语言代码中的错误只能等到解释器执行到有关代码时才能被发现。
  • 与解释型语言相比,编译型语言往往速度更快,可移植性更好,但它们的学习曲线也往往相当陡峭。

语法

语句

  • 只有按照正确的语法编写出来的语句才能得到正确的解释。
first statement;		// 语句最后最好加上;号

注解

  • 注解不会被JavaScript解释器去解释并执行,注解是给程序员看的
// 		// 单行注解,快捷键ctrl+/
/* */   // 多行注解,快捷键alt+shift+a

变量

  • 会变的事物叫做变量
a=10;	// 默认为var a=10
b=20;	// var b=20
  • 声明变量
// 方式一
var a;
var b;

// 方式二
var a,var b;
  • 变量赋值
// 方式一
var a=10;
var b=20;

// 方式二
var a=10,b=20;

// 方式三
var a;
var b;
a=10;
b=20;
  • 变量区分大小写,必须由下划线和数字(不能再开头),字母组成,尽量遵循小驼峰命名法(首个字母小写后面大写),变量不能和关键字重名

数据类型

  • 必须声明数据类型的语言叫做强类型语言,不用声明的叫弱类型语言(js)
  • 弱类型语言意味着程序员可以在任意时刻改变变量的类型
var str="123";	// 字符串类型
str=33			// 数值类型

1. 字符串

  • 字符串可以用双引号和单引号声明
  • 如果字符串中要用引号遵循外双内单,外单内双
var str1="aaa";
var str2='bbb';

2. 数值

var a=10;
var b=-10;
var c=10.3;

3. 布尔值

var flag1=true;
var flag2=false;

4. 数组

  • js的数组能够存储多个不同类型的数据
  • 数组就是有序集合一般用数字表示索引
// 声明数组
var arr1=Array(4);	// 表示声明了一个长度为4的数组
var arr2=Array();	// 不确定长度声明
var arr3=[];			// 简写声明

// 数组添加值,分别在第0个位置到第3个位置添加1
arr1[0]=1;
arr1[1]=true;
arr1[2]=1;
arr1[3]=1;
var ar2=Array(1,2,false,4);	// 自动匹配对应的位置并且添加值
arr3=[1,2,"123",false];		// 赋值

5. 对象

  • 对象就是无序集合一般用字符串表示索引
  • 数组和对象可以配合使用
// 声明对象
var obj1=Object();
var obj2={};

// 对象赋值
obj1.name="zhangsan";
obj2={name:"zhangsan"};

操作

算数运算符

// 赋值运算符
var a=10;	
var b=20;

// 基本运算符
a+b;	// 30
a-b; 	// -10
a*b;	// 200
a/b;	// 0.5;
a%b;	// 10;

// 其他运算符用法类似
a+=1;	// a=11
...


// 先用后变,先变后用
a++;
++a;
a--;
--a;

// 字符串与运算符
var  str="123";

str+321					// 123321
str+"true"					// 123true

比较运算符

  • 可以使用全等(===)来同时比较值和类型
var a=10;
var b=20;

a==b	// false
a!=b	// true
a>=b	// false
a<=b	// true

逻辑运算符

var a=10;
var b=20;

// 并且
a>=10&&b>=20	// true
a>=10&&b>20		// false

// 或
a>=10||b>20		// true

// 取反
!true			// false

条件语句

  • 选择一种满足条件的语句执行
  • if()里面必须是bool类型或者运算结果为bool类型
if(true){
	...
}else if(true){
	...
}else{
	...
}

switch(num){
	case 1:
		...
		break;
	case 2:
		...
		break;
	default:
		...
}

循环语句

  • 满足条件会一直执行
while(true){
	...
}

for(let i=1;i<=10;i++){
	...
}

函数

  • 用于封装常用的代码块,提高代码复用率
  • 全局作用域是可以在整个js文件中调用,局部作用域只能在函数中/代码块中调用,如果变量名相同遵循就近原则
// 定义函数
function add(a,b){
	return a+b;
}

// 调用函数
var c=add(10,20)		// 30

对象

  • 对象中的成员可以是属性也可以是方法
	obj.name		// 通过.调用对象内部的属性
	obj.say()		// 通过.调用对象内部的方法
  • 内置对象,js内部已经定义好的对象
const arr=new Array()
arr.length		// 返回数组的长度

const date=new Date()
data.getDay()	// 当前当日

...
相关推荐
q567315233 分钟前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
阿伟来咯~13 分钟前
记录学习react的一些内容
javascript·学习·react.js
吕彬-前端18 分钟前
使用vite+react+ts+Ant Design开发后台管理项目(五)
前端·javascript·react.js
学前端的小朱21 分钟前
Redux的简介及其在React中的应用
前端·javascript·react.js·redux·store
许野平28 分钟前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
guai_guai_guai30 分钟前
uniapp
前端·javascript·vue.js·uni-app
也无晴也无风雨31 分钟前
在JS中, 0 == [0] 吗
开发语言·javascript
狂奔solar39 分钟前
yelp数据集上识别潜在的热门商家
开发语言·python
blammmp1 小时前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧1 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++