JavaScript 基础
一.介绍
1.1 JS的引入方式
- 行内式
- 内嵌式
- 外链式
- 注: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>Document</title>
<style></style>
<!-- 2. 内嵌式的js -->
<script>
// alert('沙漠骆驼');
</script>
<!-- 3.外部js 双标签 -->
<script src="./my.js"></script>
</head>
<body>
<!-- 1. 行内式的js 直接写到元素的内部 -->
<!-- <input type="button" value="唐伯虎" οnclick="alert('秋香姐')"> -->
</body>
</html>
1.2 JS的输出语句
<script>
// 这是输入框
prompt('请输入您的年龄');
//alert 弹出警示框 输出的 展示给用户的
alert('计算的结果是');
//console 控制台输出 给程序员测试用的
console.log ('给程序员看的');
</script>
二.变量
2.1 变量的本质
内存:计算机中存储数据的地方,相当于一个空间
变量:是程序在内存中申请的一块用来存放数据的小空间
2.2 声明、赋值和初始化变量
<script>
//1. 声明了一个 age 的变量
var age;
//2.赋值 把数值存在变量中
age = 18;
//3.输出结果
console.log(age);
//4.变量的初始化 (声明并赋值)
var myname = 'pink老师'
console.log(myname);
</script>
2.3 变量语法扩展
<script>
//1.更新变量
var myname = 'pink';
console.log(myname);
myname = '迪丽热巴'
console.log(myname)
//2.声明多个变量
// var age = 18;
// var address = '火影村';
// var gz = 2000;
var age = 18,
address = '火影村',
gz = 2000;
//3.声明变量的特殊情况
//3.1 只声明不赋值 结果是? 程序也不知道里面存的是啥 所以结果是undefined 未定义的
var sex;
console.log(sex); //undefined
//3.2不声明 不赋值 直接使用某个变量会报错
// console.log(tel);
//3.3 不声明直接赋值使用
qq = 100;
console.log(qq);
</script>
2.4 关键字
JavaScript 使用专门的关键字 let
和 var
来声明(定义)变量,在使用时需要注意一些细节:
以下是使用 let
时的注意事项:
- 允许声明和赋值同时进行
- 不允许重复声明
- 允许同时声明多个变量并赋值
- JavaScript 中内置的一些关键字不能被当做变量名
以下是使用 var
时的注意事项:
- 允许声明和赋值同时进行
- 允许重复声明
- 允许同时声明多个变量并赋值
大部分情况使用 let
和 var
区别不大,但是 let
相较 var
更严谨,因此推荐使用 let
,后期会更进一步介绍二者间的区别。
2.5 命名规则
关于变量的名称(标识符)有一系列的规则需要遵守:
-
只能是字母、数字、下划线、$,且不能能数字开头
-
字母区分大小写,如 Age 和 age 是不同的变量
-
JavaScript 内部已占用于单词(关键字或保留字)不允许使用
-
尽量保证变量具有一定的语义,见字知义
-
遵守小驼峰命名法
第一个单词首字母小写,其他每个单词首字母大写,例:userName
注:所谓关键字是指 JavaScript 内部使用的词语,如 let
和var
,保留字是指 JavaScript 内部目前没有使用的词语,但是将来可能会使用词语。
2.6临时变量
temp 用来临时储存数据
<script>
//js 是编程语言有很强的逻辑性在里面: 实现这个要求的思路 先怎么做后怎么做
//1. 我们需要临时变量帮我们
//2. 把apple1 给临时变量 temp
//3. 把apple2 里面的苹果给apple1
//4. 把临时变量里面的值 给 apple2
var temp; // 声明了一个临时变量为空
var apple1 = '青苹果',
apple2 = '红苹果';
temp = apple1;
apple1 = apple2;
apple2 = temp;
console.log(apple1);
console.log(apple2);
</script>
三. 数据类型
<script>
//var num; //这里的num 我们是不确定属于哪种数据类型的
var num = 10; // num 属于数字型
//js 的变量数据类型只有程序在运行过程中,根据等号右边的值来确定的
var str = 'pink'; // str 字符串型
//js 是动态语言 变量的数据类型是可以变化的
var x = 10; //x 是数字型
x = 'pink'; //x 是字符串型
</script>
3.1数值型
JavaScript 中的数值类型与数学中的数字是一样的,分为正数、负数、小数等。
<script>
var num = 10; //num 数字型
var PI = 3.14; //PI 数字型
// 1. 八进制 0~7 我们程序里面的数字前面加0 表示八进制
var num1 = 010;
console.log(num1); // 010 八进制 转换为10进制 就是 8
// 2. 十六进制 0~9 a~f 数字的前面加 0x 表示十六进制
var num2 = 0x9;
console.log(num2);
var num3 = 0xa;
console.log(num3);
// 3. 数字型的最大值
console.log(Number.MAX_VALUE);
// 4. 数字型的最小值
console.log(Number.MIN_VALUE);
// 5. 无穷大
console.log(Number.MAX_VALUE * 2); // Infinity 无穷大
// 6. 无穷小
console.log(-Number.MAX_VALUE * 2); // -Infinity 无穷小
// 7. 非数字
console.log('pink老师' - 100); // NaN 非数字
</script>
3.2字符串型
通过单引号( ''
) 、双引号( ""
)或反引号包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
注意事项:
- 无论单引号或是双引号必须成对使用
- 单引号/双引号可以互相嵌套,但是不以自已嵌套自已
- 必要时可以使用转义符
\
,输出单引号或双引号
<script>
// 'pink' 'pink老师' '12'
var str = '我是一个"高富帅"程序员';
//外单内双 或者 外双内单
console.log(str);
//字符串转义字符 都是用 \ 开头 但是这些转义字符写到引号里面
var str1 = '我是一个"高富帅"\n程序员';
console.log(str1);
</script>
字符串拼接
-
检测获取字符串的长度 length
-
字符串的拼接 + 只要有字符串和其他类型相拼接 最终的结果是字符串类型
-
+号口诀 :数值相加 字符相连
<script> //1. 检测获取字符串的长度 length var str = 'my name is andy'; console.log(str.length);// 15 //2. 字符串的拼接 + 只要有字符串和其他类型相拼接 最终的结果是字符串类型 // +号口诀 :数值相加 字符相连 console.log('沙漠' + '骆驼'); // 字符串的 沙漠骆驼 console.log('pink老师' + 18); // pink老师18 console.log('pink老师' + true);// pinktrue console.log(12 + 12); // 24 console.log('12' + 12);// 1212 </script>
字符串与变量拼接
<script> console.log('pink老师' + 18);//pink老师18 console.log('pink老师' + 18 + '岁'); var age = 18; console.log('pink老师age岁'); //我们变量不要写道字符串里面,是通过和 字符串相连的方式实现的 console.log('pink老师' + age + '岁'); </script>
3.3布尔型Boolean
表示肯定或否定时在计算机中对应的是布尔类型数据,它有两个固定的值 true
和 false
,表示肯定的数据用 true
,表示否定的数据用 false
。
<script>
var flag = true; // flag 布尔型
var flag1 = false; // flag1 布尔型
console.log(flag + 1);// true 参与加法运算当1来看
console.log(flag1 + 1);// false 参与加法运算当0来看
//如果一个变量声明未赋值 就是 undefined 未定义数据类型
var str;
console.log(str);
var variable = undefined;
console.log(variable + 'pink'); // undefinedpink
console.log(variable + 1); // undefined 和数字相加 最后的结果是 NaN
// null 空值
var space = null;
console.log(space + 'pink'); // nullpink
console.log(space + 1);// 1
</script>
3.4 undefined
未定义是比较特殊的类型,只有一个值 undefined,只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。
3.5获取变量数据类型
typeof
<script>
var num = 10;
console.log(typeof num);// number
var str = 'pink';
console.log(typeof str);// string
var flag = true;
console.log(typeof flag);// boolean
</script>