JS基础概念
JS是什么
js是异步的单线程的脚本语言
- 脚本: 边解释边执行
- 单线程: 就是同一个时间只执行一个任务(不能并发)
- 异步: js是基于事件驱动的语言, 通过事件循环来完成
JS的引入方式
- 属性级: 事件属性,直接写到html的事件属性中
<button onclick="show(this)">Click me</button>
标签级: script标签
<script>
const btn = document.querySelector('button');
btn.addEventListener('click', show);
function show(ev) {
console.log(ev.target.innerHTML);
ev.target.style.background = 'lightskyblue';
}
</script>
script标签的src属性引入
<script src="js.js"></script>
JS变量和常量
- 变量
<script>
// 声明和赋值分开写
// 声明未赋值初始值是underfind
let name;
name = 'jack';
// 声明和赋值写在一行
let name = 'jack';
</script>
- 常量
<script>
//常量用const声明,常量名一般用大写
const MAN = 'people';
</script>
- 变量和常量的命名规则
- 只能字母,数字,下划线,$,且不能以数字开头
- 标识符是严格区分大小写的
- 命名规范
- 蛇形,下划线
let user_name;
- 小驼峰,从第二个单词开始首字母大写
let userName;
- 大驼峰,所有单词的首字母大写
let UserName;
- 蛇形,下划线
JS的数据类型
原始类型
- 数值: 整数和小数
let age = 20;
- 字符串
let name = 'jack';
- 布尔
let request = true;
- underfind 初始化未赋值默认为underfind
let name;
null
let age = null;
引用类型
对象
let man = {
//属性,相当于变量
name = 'jack',
age = 20,
gander = 'man'
//方法,相当于函数
getName: function () {
// this表示当前的上下文,当前对象
return '我的名字:' + this.name;
}
}
数组
let arr = [1,2,3,4]
- 数组索引从0开始,获取第三个元素
console.log(arr[2]);
- 数组添加或者修改元素
//添加元素
console.log((arr[4] = 99));
console.log(arr);
//修改元素
console.log((arr[0] = 100));
函数
<script>
function hello(a, b, c);
console.log(arguments);
</script>
- 函数添加元素
//添加元素
hello.d = 'd';
console.dir(hello);