JavaScript
2024-05-28 20:30:07 82 举报
AI智能生成
Js基本知识点
作者其他创作
大纲/内容
宿主对象
window(BOM浏览器窗口对象)
子对象
document(DOM对象)
标签
body
div
input
img
方法
write
写入文字
navigator(浏览器软件)
geoloaction
screen(显示器屏幕)
history(浏览历史)
location(地址栏)
host:域名
addEventListener
postMessage(data,orgin)向其他窗口指定域名传递数据
函数
alter(str) //浏览器基础弹窗
confirm、prompt、open、close
属性
name; //窗口名称
location
href
search
url的参数例如:?a=12&b=14
、navigator、acreen、frameset
DOM文档对象
内置对象
Global不存在的内置对象
isNaN()、parseInt()和parseFloat()
Math
WebAssembly字节码技术
作用:
适用于 Web 编译的可移植的、体积与加载高效的格式。
线程
Worker
特点
可创建多个
受唯一的一个主线程控制
不可操作DOM
不可跨域加载js
接口
terminate关闭
message双向消息事件
close关闭
error错误事件
postMessage(data)
onMessage()
打包
webpack
配置
exports
entry:输入
output:输出
loader:非js文件的自动任务处理
plugins:loader而外扩展的插件
spa和mpa、cli
安装工具
npm
下载命令行软件
下载第三方js库
上传js库和命令行软件
cnpm
yarn
本地缓存能离线安装
默认固定依赖的版本
速度更快
内容校验
pnpm
使用硬链接和符号链接,速度更快
数据类型
基本类型(存放于栈)
Number
不宜进行“==”比较,因为无法确认精度
Null
用于对象
Undefined
用于变量,属性和方法
String
toLowerCase():大写转小写
toUpperCase():小写转大写
Boolean
false
true
symbol符号
特点
唯一且不可修改
不会自动转换为字符串,只能用String(sym) 或 sym.toString()
接口
Symbol.iterator
Symbol.for(string)
Symbol()返回唯一
一B二S三NNU
复杂类型(引用类型,存放于堆)
Object
Array
reverse()颠倒数组,改变原数组并返回颠倒后的数组
pop():取出并返回最后一个元素,会改变原数组
reduce(function(total, currentValue, currentIndex, arr), initialValue):通过回调函数传参逐一取值计算
splice(start,length):移除原数组元素
Function
Error
Date
RegExp
Arguments
Map
六一
全局数据类型
Math(数学运算内置对象)
max
求最大值
Number
一五七
数据转换
Number
Number.toPersition(num):保留num位数字
Number.toFixed(num):四舍五入保留num位小数点
Math
Math.round(num):保留num位小数点
random():生成随机数
max(number...)
min(number...)
ceil(number):向上取整
floor(number):向上取整
pow(x,y):返回x的y次冥
sqrt(number):求number的平方根
parseInt(str,radix):只转换第一个无效字符之前的字符串为radix进制数字,默认10进制,无效返回NAN
parseFloat(str):只转换第一个无效字符之前的字符串为数字,无效返回NAN
Number(obj),把对象转换成数字,无效返回NAN
原型
__proto__
prototype
相等比较
==
===
Object.is(obj,obj):对-0、+0进行区别比较
原型
对象
函数对象:使用 New Function()出来的对象,如Object、Function
普通对象:除函数对象以外的
没有prototype属性
prototype
函数对象用来指向自己
constructor:指向自己
__proto__
函数对象和普通对象用来指向其函数对象的prototype
严格模式
使用strict mode在代码顶部声明
变量必须选声明
js解析
1.预解析
将声明式函数的声明提升到作用域顶部变量声明次之,初始化赋值不会提升
运算符
右结合
幂 (**)
一元运算
+/-/~/!/delete/void/typeof
优先级
幂 (**) > 单目运算符(+、-、*、/)
本地对象
Object函数对象
Object.defineProperty(obj, "x", {get:function(){},set:function(){},value:0, writable:false});
为对象添加属性,并重写读取机制
VUE的数据绑定实现方式
boolean hasOwnProperty(str):检查对象本身是否包涵某属性(不包括原型上的)
getPrototypeOf
获取对象原型
create
keys(obj):返回属性组成的数组
Argument
每个函数都会有一个Arguments对象实例arguments,使用数组的形式引用着函数的传入的实参
RegExp
regExpObj.test(regExpStr)
regExpObj.exec(regExpStr)
String
Array string.match(regExp):查找匹配个数
string.replace(regExp/string,b)
:将匹配regexp的部分替换成b
string.split(separator,limit)
string.search(regExp/string)
返回搜索到第一个匹配的
Event
navigator
getcurrentpostion(successFun,ErrorFun,{})
userAgent:浏览器标识
子主题
子主题
编译
var声明会被前置
传入参数组和
无var声明的运行到时才创建内存,并且放置在window对象内
垃圾回收
计数法
通过加减计算每个对象正在使用的个数
标记清楚法
标记有被使用的对象,定时清理未被使用的对象
工具
RXJS
observable可观察序列,只出不进
Observable可观察对象类
附属类型
Operators 操作符
函数
fromEvent(button, 'click')事件监听
create(() => { return () => {}})
throttleTime、filter、delay、debounceTime、take、takeUntil、distinct、distinctUntilChanged流程控制
scan(()=>{}, initValue)累加回调器
subscribe
Observer观察者类,只进不出
Schedulers调度器类,可出可进
Subjects主体类
BehaviorSubject
存储最后一个消息
ReplaySubject
指定消息个数、时间(秒)存储
AsyncSubject
触发完成后才发送
subscription订阅关系类正在执行中的观察者
函数
unsubscribe()取消进行中的执行
loash
webSocket
全双工通信,后台将能主动推送消息
基础
提升
变量和函数在声明时会提升但初始化时不会
严格模式
prototype(原型)
prototype可看成对象构造器的隐式引用
apply、call
a.call(b,1,2) == a.apply(b,[1,2])
作用
在一个指定的this值和若干个指定的参数值的前提下调用某个函数.
向b中添加和覆盖a的属性,this为b
不空的a才能调用call、apply;call打电话号码要一个一个按,apply申请则必须组成数组才可
bind
作用
a(c,d,e).bind(b,c,d)将a函数的this改为b,并设置c、d为基本参数
比较
==:不判断类型,并进行类型转换0为false
===:判断类型
switch:恒等计算符(===)进行比较
闭包
作用
可以读取函数内部的变量。
让这些变量的值始终保持在内存中。
分支主题
arguments
传入参数组和
类型和对象判断
instanceof看一个变量是否是某个对象的实例。
typeof判断类型,只能判断object而无法识别具体是哪个对象
storage
WebStorage(ie8及以上)
locationStorage
永久存储
不能指定时间
无痕模式有safari兼容问题
sessionStorage
在同一个会话中存储
cookie
不可跨域
可上传服务端
indexDB
闭包
隔离作用域
工程化
模块化(对代码进行拆分)
提高复用
便于协同开发
模块化工具(处理包之间的依赖)
CommonJS
WebPack
AMD
CMD
组件化(对UI进行拆分)
规范化(对设计和编程的约束)
目录结构的制定
编码规范
前后端接口规范
文档规范
组件管理
Git分支管理
Commit描述规范
定期CodeReview
视觉图标规范
编码规范
前后端接口规范
文档规范
组件管理
Git分支管理
Commit描述规范
定期CodeReview
视觉图标规范
自动化
提升效率
减少错误
四化
Json
将字符串转换成Json
Json.parse(str)
str.parseJSON()
将json转换成字符串
Json.stringify(obj)
obj.toJSONString()
前或后必定有JSON,JSON对象的都是传参型,JSON在第二个位置
子主题
事件
先触发事件再执行标签功能
Jquery
函数
事件
delegate:未已有和未来新增的节点添加一个或多个事件监听
TypeScript
类
动态属性
使用中括号,其变量名是未知的,列入Map的key
声明合并
同一名称的类,编译时属性和函数会自动合并
Function和function
Function是提供完整公共的对象,function是创建对象构造函数或函数的语法关键字
记得右上角点赞加收藏
0 条评论
下一页