JS基本知识
目录
- JS基本知识
- 下载并安装
- 更改界面为中文
- 变量
- 变量提升
- 数据类型
- 运算符
- 全局变量和局部变量
- 遍历
- 数组引用
- 正则表达式
- Script
- 变量
- 标识符
在编写JS代码时,要在每一行代码结束的位置加;
下载并安装
下载 vscode 编辑器 下载 vscode 插件
更改界面为中文
在vscode界面 按下ctrl+shift+P,打开导航,输入configure language
安装其他语言,选择简体中文并点击install安装
变量
变量名以字母、$、_ 开始,后跟字母、数字、_。
关键字不能用来做变量名
使用, 可以同时声明多个变量
变量没有类型而值有类型(即在JS中变量类型由所引用的值决定)
变量提升
解析器会先解析代码,然后把声明的变量的声明提升到最前,这就叫做变量提升。
1.使用 var 声明代码会被提升到前面
console.log(a); //undefined
var a = 1;
console.log(a); //1
//以上代码解析器执行过程如下
var a;
console.log(a); //1
a = 1;
console.log(a); //1
2.使用 var 定义的代码,声明会被提升到前面,赋值还在原位置
cpp
console.log(hd);
var hd = 'aaa';
//以上代码解析器执行过程如下
var hd;
console.log(hd); //aaa
hd = 'aaa';
数据类型
1.数字
2.bool
3.字符串(javascript中单双引号没有区别)
4.复合数据类型
5.特殊数据类型
null 空
undefined 表示一种状态
NaN(not a number)不是一个数字
typeof
格式 : typeof常量/变量
功能 : 输出当前的变量或常量的数据类型
例: alert(typeof 100);//输出numbller
alert(typeof typeof 100);//输出string,先判断后面
运算符
1.算术运算符
+ - * / %(取余)
parseint() 取整函数
2.关系运算符
< > >= <= == != ===(恒等) !==(恒不等)
3.逻辑运算符
&& || ! 与或非
//非 --操作数为任意非0的值(包括Infinity),false
操作数为NaN/undefined , true
4.一元运算符
++ --
5.赋值运算符
1.基本运算符 =
2.符合运算符 += -=
6.三目运算符
格式:表达式1?表达式2:表达式3
运行:表达式为真,运行表达式2
:表达式为假,运行表达式3
全局变量和局部变量
1.调用系统函数的时候,系统会分配对应的空间给这个函数使用
当函数使用完毕以后,这个内存空间要释放,还给系统
2.在函数内部声明的变量和形参是属于当前函数的内存空间里的(局部变量)
3.声明在全局的变量被称为全局变量
4.内存管理机制:在函数中声明的变量和形参,会随着函数的调用被创建,随着函数的调用结束被销毁,
在函数中声明的变量和形参,有效范围是当前函数(当前函数的大括号),作用域,局部作用域
5.就近原则:离哪个作用域近,就使用哪个作用域内的同名变量。
遍历
从头到尾来一遍(枚举)方法
for...in 遍历 快速遍历/快速枚举
for
for...in
forEach(ECMA5新增)
map 映射
数组引用
1.运行时系统会先划分存储空间,同时还会制作一个“堆”
2.当定义了数组后,数组中存放的其实是堆的编号,堆中存储的是元素
3.所以在对数组进行操作后,堆发生改变
4.但是concat不同,concat会将堆中的元素复制到另一个堆,再对其进行操作不会影响上一个数组
正则表达式
将字符串的""替换为//,可加两参数i(忽略大小写) g(全局匹配) 可一起使用
Script
所有的js代码在一个script标签中编写
属性:
1.type='text/javascript’声明当前标签内写的文本格式(可以省略)
2.src = 'demo.js’用来引入外部文件通过 (CSS中通过Link代码引入)
要点:
1.可以同时存在多个script标签
2.多个script标签自上而下运行
3.一个script标签只能专心做一件事
3例:
<script src="demo.js">
alert("longyeyeyeye");//script引入外部文件时,里面的程序是无法运行的
</script>
变量
变量:值可以被修改的叫做变量
1.变量必须被声明后才能使用
2.关键字:Var 声明变量
3.初始化:声明变量的时候,直接给这个变量赋值叫做初始化。
4.如果我们声明的变量的时候没有赋值,系统将默认赋值成undefined
5.如果我们声明变量时没有值赋给变量,可以赋值null(空)给变量,减小需要运行的步骤
标识符
标识符:所有用户定义的名字叫做标识符
命名规则
1.只能以数字、字母、下划线、$符号组成
2.不能以数字开头
3.不能使用关键字和保留字
4.大小写敏感
5.驼峰式命名:首字母小写,第二个单词首字母大写 className
6.下划线命名:class_name