你所不知道的JavaScript(上卷) 知识点汇总

【ESP32CAM+Android+OpenCV】自定义目标数据集、训练自己的OpenCV模型部署到手机APP并对ESP32CAM无线图传显示并实时检测识别目标_资料编号30 本项目实现自定义目标数据集(想检测什么就检测什么,按照本文教程自己来更换目标)、训练自己的OpenCV模型实时检测识别(pycharm工程)。手机APP(Android studio工程)部署OpenCV模型实现对ESP32CAM(arduino工程)无线WIFI图传过来的图像实时检测识别。 本文以火焰检测识别为例进行演示,通过该过程,结合本文可自定义尝试更换为其它目标的检测,例如更换为车辆、车牌、手势、人脸面部活动、人脸表情、火焰烟雾、行人、口罩、行为、水果、植物、农作物、建筑、损伤等等部署进行检测。 阅读详情

作用域规则
一、LHS查询
二、RHS查询
三、词法作用域
1、每一个函数都会创建一个新的作用域
2、作用域查找会在找到第一个匹配的标识符时停止
3、全局对象:由宿主平台决定,浏览器为windows对象。全局变量会自动称为全局对象的属性。
4、欺骗词法作用域会导致性能下降
5、eval 函数(不建议使用):把字符串内容,转成了代码。严格模式下,无法修改作用域
6、setTimeout 、setInterval,第一个参数时动态字符串代码,已经过时。
7、new Function(…) 的最后一个字符串,避免使用。
8、避免使用 with
9、函数会比变量先提升,所有同名的变量声明不起作用
10、函数表达式的赋值操作不会被提升
四、动态作用域(可忽略,JS不采用)
五、ES6 功能
1、let : 块作用域变量
2、const :块作用域常量
3、
六、XXX
异常 Error
一、Reference
二、Type

闭包
定义:相当于返回一个内部的函数。在自己定义的词法作用域以外的地方执行。使得函数可以继续访问定义时的词法作用域。
1、使用let 块作用域,简化闭包的写法
2、模块模式:1)必须有封闭的外部函数,并且被调用(每次调用创建新的模块) 2)至少返回一个内部函数
3、模块模式若时单例:采用IIFE方式即可
4、apply 函数
5、ES6功能:1)增加了一级语法支持,把文件当作独立的模块来处理,一个文件一个模块
2)采用 export 与 import … from 语法,关键字 module
6、XXX
this
1、从匿名对象引用自身:arguments.callee 但被弃用
2、this在任何情况下都不指向函数的词法作用域
3、this 的绑定与函数声明的位置没有任何关系,只取决于函数的调用方式
4、ES5提供的内置方法: Function.prototype.bind,可以去除赋值函数
5、new 绑定
1)创建一个全新的对象
2)新对象会被执行【原型】连接
3)这个新对象会绑定到函数调用的this
4)如果函数没有返回其他对象,那么会自动返回这个新对象。
6、this绑定的四条规则的优先级:
1. 函数是否在 new 中调用(new 绑定)?如果是的话 this 绑定的是新创建的对象。
var bar = new foo()
2. 函数是否通过 call、apply(显式绑定)或者硬绑定调用?如果是的话,this 绑定的是
指定的对象。
var bar = foo.call(obj2)
3. 函数是否在某个上下文对象中调用(隐式绑定)?如果是的话,this 绑定的是那个上
下文对象。
var bar = obj1.foo()
4. 如果都不是的话,使用默认绑定。如果在严格模式下,就绑定到 undefined,否则绑定到
全局对象。
var bar = foo()
5. 如果你把 null 或者 undefined 作为 this 的绑定对象传入 call、apply 或者 bind,这些值
在调用时会被忽略,实际应用的是默认绑定规则。

7、Function.prototype.bind():第一个参数绑定的是对象,其他参数可柯里化(预先设置一些参数)。
8、ES6中:可以用 … 代替 apply(null) 。 foo(…[2,3]) ; 相等于 foo.apply(null, [2,3])
9、创建一个空对象 :Object.create(null);
10、ES6中的 => 函数:不使用this的四种标准规则,而是根据外层或则全局作用域来决定this
用于回调函数中。 尽量避免使用 self=this 和箭头函数
11、XXX

对象
1、函数本质跟对象一样,只是可以调用。
2、数组也是一种对象,具备一些额外的行为。
3、ES6 增加了可计算属性名
4、函数是一等公民,永远不会属于某个对象,对象的方法只是对象的属性名指向一个函数。
5、一个巧妙的深复制方法(需要保证对象是JSON安全):var newObj = JSON.parse( JSON.stringify( someObj ) );
6、 ES6 定义了 Object.assign(…) 方法来实现浅复制
7、从 ES5 开始,所有的属性都具备了属性描述符。
8、即使属性是 configurable:false , writable 状态还是可以从true修改为false
9、不变性:禁止扩展(preventExtensions),密封(seal),冻结(freeze)
seal ,进一步设置现有属性标记为 configurable:false;
freeze,进一步设置属性标记为 writable:false。 即相当于所有的内容都是常量(模仿不可变类)
10、Getter 与 Setter 方法:
如果已经存在这个属性,[[Put]] 算法大致会检查下面这些内容。

  1. 属性是否是访问描述符(参见 3.3.9 节)?如果是并且存在 setter 就调用 setter。
  2. 属性的数据描述符中 writable 是否是 false ?如果是,在非严格模式下静默失败,在
    严格模式下抛出 TypeError 异常。
  3. 如果都不是,将该值设置为属性的值。
  4. getter 是一个隐藏函数,会在获取属性值时调用。setter 也是一个隐藏
    函数,会在设置属性值时调用。只能用于单个属性上面

11、ES6 增加了一种用来遍历数组的 for…of 循环语法
12、ES6 有 class 关键字

类
1、JS只有对象,类的概念是属于构造函数的。属于构造函数之间不存在直接的关系。
2、JS本身并不提供多重继承
3、JS在ES6之前没有相对多态的机制,可采用显示多态,应该避免使用。

[[Prototype]]
1、new 会劫持所有普通函数并用构造对象的形式来调用它。
2、Foo.prototype的 .constructor属性只是Foo函数在声明时的默认属性。
3、声明函数时,就会有一个.prototype属性关联到默认的对象,这个.prototype属性可以修改关联其他对象
4、ES6:Object.setPrototypeOf( Bar.prototype, Foo.prototype )

ubuntu emto-cpa安装与编译 阅读详情

相关推荐

信贷审批中的那些坑:从零开始搭建风控策略体系的5个关键步骤

本文深入探讨了信贷审批中的风控策略体系搭建,从数据陷阱识别、规则冲突诊断到反欺诈攻防,提供了5个关键步骤的实战指南。重点解析了如何通过特征工程、决策树优化和模型可解释性技术,构建动态平衡的风控体系,有效降低逾期风险并提升审批效率。

weixin_29253711的博客 412

你不知道的js 上卷 (上半部分)

第一章 作用域是什么 传统编译语言的流程中,程序中的源代码在执行前会经历三个步骤,统称为编译。 分词/词法分析 将字符串分解成有益于的代码块,这些代码块称为词法单元(token)。如var a = 2; 这段程序会被分解成var, a, =, 2 等 解析/语法分析 将词法单元流转换成一个由元素逐层嵌套的代表程序语法结构的树。称为抽象语法树(AST) 代码生成 将AST转为可执行代码的过程称为代码生成,即将var a = 2的AST转为一组机器指令,用来创建以恶搞叫做a的变量,包括分配内存,并将一个值存在

zxb89757的博客 327

【驭风计划 算法训练营】周测4:习题11-4、8-4、12-4

给出 nn 个非负整数 x1,x2,⋯,xnx1,x2,⋯,xn,有 qq 个询问,第 jj 个询问给出一个非负整数 yjyj,求其中,xor 表示按位异或运算。

Mege1的博客 1043

《你不知道的JavaScript上卷》知识点整理与读书笔记

第一部分 作用域和闭包 第1章 作用域是什么 1.1编译原理 1.2理解作用域 1.3作用域嵌套 1.5异常 第2章 词法作用域 第3章 函数作用域和块作用域 第5章 作用域和闭包 第二部分 this和对象原型 第1章 关于this 第2章 this全面解析 第3章 对象 第4章 混合对象“类” 第5章 原型 第6章 行为委托 之前被好友推荐过《你不知道的JavaScript》这一系列的书籍。上中下三本书都不算厚,内容也是比较独立。本来是打算一个月内看完这本上卷和下卷,可总是因为自己的.

qq_45549336的博客 6405

别再调PID了!用MATLAB/Simulink给四旋翼无人机搭个ADRC控制器(附完整仿真模型)

本文详细介绍了在MATLAB/Simulink环境中为四旋翼无人机搭建ADRC控制器的完整流程,包括核心原理、Simulink建模、参数调试技巧及与PID控制的性能对比。ADRC通过扩张状态观测器(ESO)有效提升无人机在复杂扰动下的控制性能,特别适合四旋翼无人机这类强耦合系统。文章还提供了完整的仿真模型和工程实践问题解决方案。

weixin_26808439的博客 382

[UE5蓝图基础二]1.[1d混合空间] 走和跑的动画切换(shift切换)

再双击”run”进去 我们需要给他指定一个动画姿势,这里就需要给他我们前面做的”1d”混合空间,然后可以看到”1d” 上有个speed参数,代表的速度 从前面的逻辑来看需要通过控制速度来切换动画,那么必然不能写死速度,把速度提升为变量传递进来即可,所以就得到以下蓝图节点。混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个”Animation”文件夹 在文件夹内创建混合空间。我们目前要实现的是一个走和跑的功能 那么创建1d即可。到这一步混合空间已经做完 下一步做”动画蓝图”

qq_30584617的博客 3299

你不知道的JavaScript

很多人对JavaScript这门语言的印象都是简单易学,很容易上手。虽然JavaScript语言本身有很多复杂的概念,但语言的使用者不必深入理解这些概念就可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开 发者“不求甚解”的大趋势,深入理解语言内部的机制。

hacker707的博客 2万+

ADSP-21565的SigmaStudio图形化编程实战:从FW工程改造到音频通道打通

本文详细介绍了如何将ADSP-21569的SigmaStudio图形化编程固件工程改造,以适配ADSP-21565的纯片内SRAM内存架构。通过修改内存映射和链接文件,打通了音频输出通道,并成功利用SigmaStudio进行图形化编程,实现了从白噪声生成到音频输出的完整验证流程。

weixin_29169505的博客 380

你不知道的JavaScript 上卷 知识梳理

第1章:作用域是什么

Turnip的博客 643

lvgl 9虚拟键盘控件 (lv_keyboard) 使用指南

是 LittlevGL 提供的一个虚拟键盘控件,适用于在图形界面中输入文本。与按钮矩阵类似,虚拟键盘预定义了多个键位布局,支持多种模式和自定义键位映射,能够满足各种文本输入需求。通过与文本区域 (Text Area) 的结合,键盘能够自动将输入的字符传送到指定区域。控件是 LittlevGL 提供的强大虚拟键盘解决方案,适用于任何需要文本输入的界面。通过预定义的键盘模式、自定义键位映射和文本区域自动填充功能,可以大大提升用户输入体验。无论是在嵌入式系统的用户界面中,还是在其他需要虚拟键盘的应用中,

m0_62599305的博客 2185

混合精度训练与推理:平衡性能与效率

在深度学习领域,模型的训练和推理通常需要大量的计算资源和时间。随着模型规模的不断增大,如大型语言模型、复杂的视觉模型等,对计算资源的需求也呈指数级增长。混合精度训练与推理技术应运而生,它通过在训练和推理过程中同时使用不同精度的数据类型,在保证模型性能的前提下,显著提高计算效率,减少内存占用。本文的目的是全面介绍混合精度训练与推理技术,包括其原理、实现方法、应用场景以及相关工具和资源,帮助读者深入理解并掌握该技术,从而在实际项目中更好地平衡性能与效率。

操作系统内核探秘的博客 1068

精读《你不知道的 javascript(上卷)》

你不知道的 javascript》是一个前端学习必读的系列,让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途。本书介绍了该系列的两个主题:“作用域和闭包”以及“this和对象原型”。这两块也是值得我们反复去学习琢磨的两块只是内容,今天我们用思维导图的方式来精读一遍。(思维导图图片可能有点小,记得点开看,你会有所收获)

Karka_的博客 1074

《电磁兼容设计》专栏说明

本专栏自2024年1月起开始更新,仅设此一个电磁兼容相关知识专栏,并将一直持续更新下去,无期限

linkking27的博客 791

你不知道的javascript

最近笔者使用node.js完成了一个小型项目,在javascript的泥坑里面摸爬滚打了一番,感触颇深。Javascript会给习惯于传统面向对象模式的开发人员,带来很多意想不到的障碍。这些问题基本上是因为误解了javascript的设计导致的。 如果有本书能把js的这些槽点、另类之处,一次性说个明白就好了。还真是有,图灵就出版了一本《你不知道的javascript》。 图灵出版的这本《你不知道的javascript》三卷。 https://pan.baidu.com/s/1K2dW_syvf5LFDJYF

weixin_35597398的博客 5316

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

《你不知道的JavaScript上卷》知识点整理与读书笔记_百度你不知道的js书知识

/也就是这个对象本身,想一想为什么this是指向这个对象本身,我保证前面的this里面讲的知识,绝对可以分析出来这里的this指向哪里。foo.call(obj)//2 这里显示调用,foo中this是obj,所以回调中是obj的a。//这行代码只是为了验证()中的var i,以及{}中的a,最后在外部均可以访问到这两个标识符。foo()//3 这里光秃秃调用,foo中this是window,所以回调中是window的a。//当然把最后的()放进去的效果也是一样的,仅仅是书写风格不同。

m0_61067876的博客 1146

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

《你不知道的JavaScript(上卷)》PDF

《你不知道的JavaScript(上卷)》是一本深入探讨JavaScript语言内部机制的专业书籍,由Kyle Simpson撰写,赵望野和梁杰翻译,人民邮电出版社出版。内容概述《你不知道的JavaScript(上卷)》主要围绕JavaScript语言的两个核心主题展开:“作用域和闭包”以及“this和对象原型”。这本书旨...

weixin_36026999的博客 269

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

《你不知道的JavaScript—上卷》

两章,一:作用域和闭包,二:this和对象原型。 一:作用域和闭包 1.1作用域 js引擎执行代码的步骤——编译:词法分析,语法分析,代码生成 工作原理: js引擎:负责整个程序的编译及执行过程 编译器:负责语法分析及代码生成 作用域:收集并维护由所有变量(声明的标识符)组成的一系列查询,并实施一套很严格的规则,确定当前执行的代码对变量的访问权限 赋值操作的过程:编译器在当前作用域声明一个变量(如果之前没有),运行时引擎在当前作用域查找该变量,找到后赋值。 编译器里面: LHS查询:赋值操作的目标是谁 .

qq_40029828的博客 469

《你不知道的JavaScript》核心知识点梳理

《你不知道的JavaScript》系列(俗称“小黄书”)是深入理解JavaScript语言精髓的经典之作。它并不教我们如何“使用”JavaScript,而是带我们深入语言内部,理解其“为什么”会这样工作。 这个系列的核心思想是:JavaScript 是一门被“误解”最深的语言,其内部机制(尤其是作用域、闭包、this、原型等)并非设计缺陷,而是有其内在的逻辑和强大的表现力。理解这些机制,才能从“编写代码”上升到“驾驭语言”。

宝青书坊 1117

你不知道的javascript上卷

你不知道的javascript上卷作用域javascript是一门编译语言,它不是提前编译的,编译结果也不能在分布式系统中移植。编译的步骤一般如下: 分词/词法分析 词法分析是有状态的判断一个分词是一个独立的词法单元还是其他词法单元的一部分,调用有状态的解析规则。 解析/语法分析 抽象语法结构树(AST) 代码生成 将AST转换为可执行代码的过程 对javascript来说,大部分情况下编译发生在代

junlin_tu的博客 465

200530&你不知道的JavaScript[上卷]所有小结汇总

JS上卷整理 说点啥 1504的书,现在(2005)才想起好好看,过去5年零1个月了,证明自己的技术能力真是水了5年多。抓紧补齐吧。 S11 表示 《不知道系列》 上卷 第一部分 第一章 Z11 表示 《不知道系列》 中卷 第一部分 第一章 X11 表示 《不知道系列》 下卷 第一部分 第一章 S11-作用域是什么 作用域是一套规则,用于确定在何处以及如何查找变量(标识符)。如果查找的目的是对 变量进行赋值,那么就会使用 LHS 查询;如果目的是获取变量的值,就会使用 RHS 查询。 赋值操作符

向阳小宇宙的专栏 387

你不知道的JavaScript(上卷)- - 书本知识点记录

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

2401_84091663的博客 1094

你不知道的JavaScript 上卷 Part1

  这篇博客躺在我的草稿箱里有一阵子了,差点给遗忘了哈哈。 前言   最近开始喜欢读一些书,从书中找答案,在阅读中查漏补缺。   记得小学初中时候最爱看书了,如今却不知怎的,习惯性从网络中摄取知识,搜寻到的东西真真假假,甚至很多大同小异,读一些书,还是很有必要的。   《你不知道的JavaScript》上卷 直面当前 JavaScript 开发人员不求甚解的大趋势,嗯,说的就是我这种人,不求甚解,很多东西好像知道,问深了,又好像什么都不知道。   好了,长话短说,以便再次阅读,我阅读中做了以下笔记,希望帮到

小R.的博客 1058

你不知道的JS - 上卷

作用域 原型链 构造函数

锋利的绵羊的博客 627

学习——《你不知道的JavaScript》上卷

一、作用域的认识 1.LHS和RHS LHS:赋值操作的目标是谁。比如a=2,那么就是把2赋值给a,就是一个LHS操作。 RHS:谁是赋值操作的源头。比如console.log(a),就是查找a的值,是一个RHS操作。 2.作用域嵌套 当一个块或函数嵌套在另一个块或函数中时,就发生了作用域的嵌套。因此,在当前作用 域中无法找到某个变量时,引擎就会在外层嵌套的作用域中继续查找,直到找到该变量, 或抵达最外层的作用域(也就是全局作用域)为止。 3.异常...

z495719912的博客 489

《你不知道的javaScript》上卷——第二部分——第三章——对象

构造函数的形式 两种方式的区别 类型 内置对象 String、Number、Boolean 有字面量形式和对象形式 Date–MDN文档 Error-MDN文档 访问属性 两种访问属性的方式 js标识符的命名规则 属性名永远都是字符串。 Symbol的使用 给数组添加属性对length的影响 浅拷贝与深拷贝 参考资料来源 作者:华为云开发者社区 链接:https://www.zhihu.com/question/453889983/answer/

浪头的博客 1656
上一篇: Proxy详解
下一篇: Oracle 、 Mysql、Guass 的 sequence
Yiyi_Coding
博客等级 码龄1年 2粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值