Javascript简称js,js是一种脚本语言,(js是一种解释性语言),是不需要进行编译的,也是浏览器中的一部分,经常用在web客户端脚本语言,主要是用来给html增加动态功能。
JavaScript 的能做的事情:
网页开发(更复杂的特效和用户交互)
网页游戏开发服务器开发(node.js)
桌面程序开发(Electron, VSCode 就是这么来的)
手机 app 开发
JavaScript 和 HTML 和 CSS 之间的关系
HTML: 网页的结构(骨)
CSS: 网页的表现(皮)
JavaScript: 网页的行为(魂)
JavaScript 的编写形式
1.关联在HTML中进行
1)内部方式管理<script>js</script>
2) 外部引入<script src="js的资源的url"></script>
2.直接在浏览器的开发者工具的控制台进行编写(学习阶段)
JS的输入输出
输入: prompt
弹出一个输入框
// 弹出一个输入框
prompt("请输入您的姓名:");
输出: alert
弹出一个警示对话框, 输出结果
// 弹出一个输出框
alert("hello");
输出: console.log
在控制台打印一个日志
// 向控制台输出日志
console.log("这是一条日志");
语法概览
变量的使用
var name = 'zhangsan';
var age = 20;
代码示例: 弹框提示用户输入信息, 再弹框显示.
var name = prompt("请输入姓名:");
var age = prompt("请输入年龄:");
var score = prompt("请输入分数");
alert("您的姓名是: " + name);
alert("您的年龄是: " + age);
alert("您的分数是: " + score);
JS是动态类型
1) JS 的变量类型是程序运行过程中才确定的(运行到 = 语句才会确定类型)
2) 随着程序运行, 变量的类型可能会发生改变.
这一点和 C Java 这种静态类型语言差异较大.
C, C++, Java, Go 等语言是静态类型语言. 一个变量在创建的时候类型就确定了, 不能在运行时发生改变. 如果尝试改变, 就会直接编译报错.
动态类型语言,脚本语言,解释性语言,胶水语言,弱类型语言:
js,python,perl,php...
静态类型语言,编译性语言,强类型语言:
c,c++,java...
基本数据类型
JS 中内置的几种类型number:
1) 数字. 不区分整数和小数.
2) boolean: true 真, false 假.
3)string: 字符串类型.
4)undefined: 只有唯一的值 undefined. 表示未定义的值.
5)null: 只有唯一的值 null. 表示空值.
number数字类型表示
特殊的数字值
Infinity: 无穷大, 大于任何数字. 表示数字已经超过了 JS 能表示的范围.
-Infinity: 负无穷大, 小于任何数字. 表示数字已经超过了 JS 能表示的范围.
NaN: 表示当前的结果不是一个数字.
var max = Number.MAX_VALUE;
// 得到 Infinity
console.log(max * 2);
// 得到 -Infinity
console.log(-max * 2);
// 得到 NaN
console.log('hehe' - 10);
string 字符串类型
基本规则
字符串字面值需要使用引号引起来, 单引号双引号均可.
var a = "haha";
var b = 'hehe';
字符串拼接
使用 + 进行拼接
var a = "my name is ";
var b = "zhangsan";
console.log(a + b);
boolean 布尔类型
表示 "真" 和 "假"
undefined 未定义数据类型
如果一个变量没有被初始化过, 结果就是 undefined, 是 undefined 类型
null 空值类型
null 表示当前的变量是一个 "空值".
比较运算符
== 比较相等(会进行隐式类型转换)
!=
=== 比较相等(不会进行隐式类型转换)
!==
数组
创建数组
使用 new 关键字创建
var arr = new Array();
使用字面量方式创建 [常用]
var arr = [];
var arr2 = [1, 2, 'haha', false]; // 数组中保存的内容称为 "元素"
注意: JS 的数组不要求元素是相同类型. 这一点和 C, C++, Java 等静态类型的语言差别很大. 但是 Python, PHP 等动态类型语言也是如此.
新增数组元素
1. 通过修改 length 新增 相当于在末尾新增元素. 新增的元素默认值为 undefined
2. 通过下标新增 如果下标超出范围赋值元素, 则会给指定位置插入新元素
3. 使用 push 进行追加元素
代码示例: 给定一个数组, 把数组中的奇数放到一个 newArr 中.
var arr = [9, 5, 2, 7, 3, 6, 8];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] % 2 != 0) {
newArr.push(arr[i]);
}
}
console.log(newArr);
删除数组中的元素
使用 splice 方法删除元素
var arr = [9, 5, 2, 7];
// 第一个参数表示从下表为 2 的位置开始删除. 第二个参数表示要删除的元素个数是 1 个
arr.splice(2, 1);
console.log(arr);
// 结果[9, 5, 7]
函数