JavaScript随笔记01
一、JavaScript概念
- 可跨平台,弱类型,解释型的脚本语言
二、解释型与编译型
1.解释型
- 缺点:解释一句执行一句 效率较低
- 优点:可移植性好 可跨平台
2.编译型
例如Java语言
- 缺点:可移植性差 依赖编译器
- 优点:编译好的程序可多次执行 效率较高
三、弱类型与强类型
1.弱类型
- 缺点:限制较少 容易报错找不到原因
- 优点:定义变量比较随意 变量类型会随着实际场景自动识别
2.强类型
例如Java语言
- 缺点:限制较多 不容易使用
- 优点:报错容易找到原因
四、脚本语言
- 脚本语言需要依赖其他语言调用 例如在前端开发中js需要依赖html文件
五、JavaScript三大组成
1.ECMAScript
(1)基本数据类型
PS:肉眼可区分数据类型的方法 一般字符串打印出来的是黑色的
- Number 数值类型
包括整型和浮点(小数)型 NaN(not a number) - Boolean 布尔类型
结果只有true和false - String字符串类型
- null 空值
- undefined 声明变量未赋值
(2)引用数据类型
2.DOM 文档对象模型
3.BOM 浏览器对象模型
六、语法
1.注释// 或 /* */
- js注释 单行注释// 多行注释/* */
- html注释 <!-- -->
- css注释 /* */
- java注释 单行注释// 多行注释/* / 文档注释/* */
2.定义变量 var 赋值 =
- var a = 1;
3.判断变量类型typeof
- 常见面试题1:typeof(typeof(123)) 结果是字符串类型
- 常见面试题2:用typeof打印不出来的类型是null类型 结果是object
4.变量命名建议
- 为避免与关键字和保留字重复 推荐使用$或_起头命名
5.打印结果
- js 输出在控制台 console.log()
- js 输出在页面 document.write()
- js弹在浏览器窗口 alert()
- java 输出在控制台不换行 System.out.print() 换行为println()
6.各数据类型的方法
(1)Number
- Number() 把别的类型转为数值类型
boolean转为0或1
String转为NaN 带引号的数转为数值 包含有16进制例如‘0xf’转为15
null转为0
undefined转为NaN - parseInt() 转为整数
直接截断 不进行四舍五入 - parseFloat() 转为小数 直接截断
- isNaN()
(2)Boolean
- 非零数字转为true
- 非空字符串转为true
- null和undefined转为false
(3)String
PS:一旦创建 不能修改 类似于数组 带有长度和索引
.length获取字符串长度
- String(str)
可转换任何类型 - str.toString()
不能转null和undefined类型 但能转其他进制2进制 8进制 16进制 - str.charCodeAt(index)
返回索引对应字的unicode编码 a-97 A-65依次累加 - String.fromCharCode(‘unicode编码1’,‘unicode编码2’)
返回unicode编码对应的字符 - charAt(index)
返回索引位置的字符 类似于str[index] 常用后者 - 字符串截取三方法(常见面试)
slice(start,end)
包含开始不包含结束 若为负值 则按照length+负值计算 开始不能小于结束,end若不写就默认最后位置
substring(start,end)
包含开始不包含结束,若为负值则按照0计算 以小的数作为开始位置 大的数作为结束位置,end若不写就默认最后位置
substr(start,length)
从start开始截取length个长度 若start为负值则倒着截取,length若不写就截取到最后位置 - str1.concat(str2)
拼接字符串 - str.toLowerCase()
转为小写字母 - str.toUpperCase()
转为大写字母 - indexOf(查找的字符串)
返回字符串在原始字符串中第一次出现的位置 没有则返回-1 - lastIndexOf(查找的字符串)
返回字符串在原始字符串中最后一次出现的位置 没有则返回-1 - split(分割参考的字符)
将字符串转为数组 例如按照’,'分割变为数组等
七、VSCode常用插件
PS:自动保存在文件设置中
1.Chinese
2.view in browser
3.live server
- 这个可以使浏览器自动刷新