给大家整理一些前端js自学的或者是初学者需要知道的一些基础知识;
哪里不对欢迎大家指出
js变量
创建变量 var 变量名(自己随便起) = 值(具体的东西);
变量名没有具体的意义,变量是为了操作具体的值
声明变量的几种方式;
var
let
const-------(常量:不能变量);
function---函数 function 函数名(){ } ;
class-----(类名 首字母大写){};
import----(导入)import 变量名 from '文件地址' ;
命名规范
1.只能由数字、字母、_、$组成
2.数字不可以开头
3.驼峰命名法
首字母小写,后面每个单词的开头字母大写;helloWorld
4.不能用关键字和保留字作为名字
5.起的名字要有语义化
js中的数据类型【分为两种类型】
基本数据类型
string 字符串
number 数字 分为 (正数 负数 0 小数 NaN 无穷大 infinity)
bigInt 大数 999n
boolean 布尔 true 真 、 false 假
undefined 空值 (没有空的意思)
null 空对象指针
symbol 唯一值
引用数据类型
- 普通对象 Objet : 用{}包起来,里边写键值对,每个属性都要用逗号分开。{name:'',age:''} 增删改查
- 可执行的对象指的是函数。function 函数名() {函数里要具体的代码} //还有一个call 一开始不用不写了
- 特殊对象
- Array 数组:要用中括号包起来的,每一项用逗号隔开[1,2,3] 索引是这一项在数组中的位置; length 是数组的长度
- Math是数学方法
- Date 时间方法
- RegExp 正则
重点:数据类型检测的返回值首先是一个字符串
typeof 检测类型转换
- 数字 => 'number'
- 字符串=>'string'
- 大数=>'bigint'
- 布尔=>'boolean'
- 唯一值=>'symbol'
- undefined=>'undefined'
- function=>'function'
- null=>'object' ---⬇特殊性 因为在计算机的存储中都是二进制的,为01的形式;typeof检测的时候把前三位为0的归位对象,而null的存储前三位正好是0,所以就是object,但是实际上他是基本数据类型,不是引用数据类型,这也是浏览器的一个bug
返回值的特点:1、都是字符串 2、都是小写
其他数据类型转字符串
.to String()
1.基本数据类型=>字符串
大数类型: 把N去掉,前面的数值包上引号
其他数据类型:直接包上引号
2.引用数据类型
普通对象:'[object Object]'
数组 :把每一项转成字符,中间用逗号隔开 []=>''
当数组中有null和undefined的时候,直接当空气处理没有具体的值
其他数据类型转数字
Number()
1.字符串:只有全是数字才会转成正常数组,只要有一个不是数组就是NaN;
2.布尔 :ture=>1 false=>0
3.null :0
4.undefined:NaN
5.Symbol: 不能转 直接报错
6.引用数据类型: 字符串=> 数字
对象=>NaN
数组=>'[]'=>''=>0 [1]=>['1']=>=>1 多项就是NaN
NaN不是个有效数字
parseInt()
字符串:从左向右依次识别数字,直到不是数字的字符停止 ''=>NaN
空数组=>NaN
parseInt 不能识别小数
parseFloat ()
在paiseInt的基础上可以识别小数
isNaN
由于NaN和她本身不相等所以我们用isNaN 检测是不是NaN
isNaN(NaN) => ture
数学运算:加减运算、取余 %(莫)
加法:当加号两边出现任意一个字符串的时候就是字符串拼接,当全是数字时就是按照数学运算的顺序运算
- 减乘除: 当减乘除两边有不是数字类型的,会用number 方法转成数字
- 取余:10%3=1 19%3=1
其他数字据类型转布尔
- 除了 0 nan '' null undefined 转成false 其他的转成ture
if判断
if(判断条件){
判断条件为真的时候走离着最近的大括号
条件为假,继续向下走
遇到else if 继续判断条件
遇到else{} 直接执行
注:最多只执行一段大括号的代码
}else if(){
}
输出方式
控制台的输出
console.log
console-dir
console.table
console.warn
console.time/timeEnd
页面弹窗的输出
- alert
- confirm 多了取消按钮, 可以用变量接收confirm的返回值,如果是true点击了确定,是false点击了取消
- prompt 跟confirm 比 多了输入框 可以变量就收返回值,点击确定输入框的内容会返回 点击取消返回 null
- 向页面的输出:实际上是操作DOM
- document.write () 让内容成为在body的最后一个儿子的节点
- innerHTML/innerText:ele.innerHTML = ' '
- innerHTML 可以渲染标签 innertext只能渲染文本不认识标签
- value:和input输入框配合使用 可以修改输入框的任容
获取元素的方法
- document.getElementById(id名) 只有一个元素
- document. getElenmentsByClassName ('类名') 获取到的是元素集合 , 想要拿到具体元素需要用索引获取
- document.getElementsByTagName ('') 获取到的是元素集合 , 想要拿到具体元素需要用索引获取