阿浩
阿浩
7月份了 是没有该计划了吗?
1. String,Number,Boolean,Null,Undefined,Symbol; 2. 不是 3. 基本数据类型是存在栈内存中的,引用类型是存在堆内存中的; 引用类型是保存在堆内存中的,然后再栈内存中保存一个对堆内存中实际对象的引用,所以JS中引用数据类型的操作都是操作对象的引用而不是实际的对象,从而延伸出了 “深拷贝和浅拷贝”的问题
**语义化**:指对文本内容的结构化(内容语义化),选择合乎语义的标签(代码语义化),便于开发者阅读,维护和写出更优雅的代码的同时,让浏览器的爬虫和辅助技术更好的解析; ### 有点: - 拥有默认的样式 - 利于SEO优化 ### 缺点 - HTML5语义化标签在IE6-8下,默认当成行内元素展示。 - 通过引入js解决IE9以下新增标签的兼容问题。
### 浅拷贝 > 浅拷贝的意思就是只复制引用,而未复制真正的值。 ### 深拷贝 > 深拷贝就是对目标的完全拷贝,不像浅拷贝那样只是复制了一层引用,就连值也都复制了。只要进行了深拷贝,它们老死不相往来,谁也不会影响谁。 ### 实现深拷贝 1. 利用JSON.parse 和 JSON.stringify 方法 ```js // 1.实现简单的深拷贝 const hanzo = [1,2,3,4]; const genji = JSON.parse(JSON.stringify(hanzo)); console.log(hanzo === genji); //...
## 执行上下文总共分为三个类型: - 全局执行上下文:只有一个,浏览器中的全局对象就是window对象,this就是指向这个全局对象; - 函数执行上下文:可以存在无数个,只有在函数被调用的时候才能被创建,每次调用的函数都会创建一个新的执行上下文; - Eval函数执行上下文:指的是运行在Eval函数中的代码,很少用而且不建议 ## 执行上下文栈 函数多了,就有很多个函数执行上下文,每次调用函数创建一个新的执行上下文,而`JavaScript`引擎创建了执行上下文来管理执行上下文栈,也可以把执行上下文栈认为是一个存储函数调用的栈结构,遵循`先进后出`的原则 执行流程: 1. JavaScript执行在单线程上面,所有代码都是排队执行的; 2. 一开始浏览器执行全局的代码时,首页会创建全局的执行上下文,压入执行栈的顶部; 3. 每当进入一个函数的执行就会创建一个函数的执行上下文,并且将它压入执行栈的顶部,当前函数执行完成后,当前函数的执行上下文出栈,并等待垃圾回收; 4. 浏览器的JS引擎总是访问栈顶的执行上下文 5. 全局上下文只有唯一的一个,它在浏览器关闭时出栈; ## 作用域链 查找一个变量,首先在它当前的所在的函数作用域查找,如果没有,就一层一层向上找,直到找到全局作用域还没有找到,就宣布放弃。这种一层层的关系,就是 作用域
@lxlnn 不好意思 我在`使用createPlayer`创建的实例中并没有找到`_controller`这个属性,请问你是怎么写的呢?
@lxlnn 我这边查看到  ) 这个值都是10,每次刷新都是10,但是我在obs上推流测试 延迟差不多都是在4,5s内, 这个值感觉没有参考意义 , 希望能帮忙解答一下,谢谢
@lxlnn 我在方法里面找到了 视频帧里面的pts和dts信息 它们应该是视频帧的时间戳相关信息吧