JavaScript基础

简介: 本节讲解JavaScript基础核心知识:涵盖值类型与引用类型区别、typeof检测类型及局限性、===与==差异及应用场景、内置函数与对象、原型链五规则、属性查找机制、instanceof原理,以及this指向和箭头函数中this的绑定时机。重点突出类型判断、原型继承与this机制,助力深入理解JS面向对象机制。(238字)

1 变量类型和计算

1.1 值类型和引用类型的区别?

  1. 值类型:每个变量都会存储各自的值。不会相互影响
  2. 引用类型:不同变量的指针执行了同一个对象(数组,对象,函数)

    1.2 typeof可以及检测的数据类型有哪些?

    Note
    ● 基本数据类型:Undefined null bool string number
    ● 关键点:typeof只能区分值类型,不能区分引用类型
    ● JS中的基本数据类型:null, undefined, bool, string, number(typeof可以区分除了null以外的四种值类型)
    ● typeof 6种类型:Object({},[],null), Undefined, Boolean, Number, Function, String
    ● typeof可以区分值类型,typeof null = Object

    1.3 JS中===和==的区别?

    1.3.1 区别?

    == 会进行强制类型转换之后再比较,=== 不会进行强制类型转换的

    1.3.2 应用场景?

  3. (用于判断对象属性是否存在):if (obj == null) ===>>> 等价于if (obj == null || obj == undefined),可以简化代码,其他情形都使用===进行比较
  4. 用于判断函数的参数是否存在: function(a, b){ if(a == null) { // ... }}
  5. 对于函数内部或者是一个对象的参数进行判断只会出现undefined, 而不会报错(慎用)

    1.3.3 其他?

    js中类型转换为false的有哪些(6种):null, undefined, NaN, '', false, 0

    1.4 JS中的内置函数有哪些?

    Note
    ● 内置函数: Object Array Boolean Number String Function Date RegExp Error
    ● 内置对象:Math, JSON

    2 原型和原型链

    2.1 原型链的5条规则

  6. 所有的引用类型(数组,对象,函数),都是具有对象特性的,即可以自由扩展属性(除了null以外)
  7. 所有的引用类型(数组、对象、函数),都有一个proto 属性(隐式原型),这个属性的值是一个普通对象
  8. 所有的函数,都有一个prototype属性(显式原型),这个属性值是一个普通的对象
  9. 所有的引用类型(数组、对象、函数),proto的属性值指向(完全相等)它的构造函数的“prototype”的属性值
  10. 当试图得到一个对象的某一个属性的时候,如果一个对象本身没有这个属性的话,就会去它的proto( 也就是它的构造函数中去寻找这个属性)

    2.2 JS中寻找对象属性的过程

  11. 当一个对象没有这个toString()这个属性的时候,就回去自己的隐式原型proto中去寻找这个属性,也就是去自己额构造函数的显示原型prototype中寻找这个属性(对象自身的隐式原型就是他的构造函数的显式原型)
  12. 发现FOO.prototype中也没有这个toString属性,这也是一个对象,name就去这个对象{}的proto中寻找toString()这个属性

    2.3 instanceof的作用?

    是用于判断【引用类型】属于哪个【构造函数】的方法
    Note
    总结:f.proto 一层一层向上寻找,能否找到FOO.prototype,找到为true,否则为false

    2.4 对this的理解?

  13. 作为构造函数执行
  14. 作为对象属性执行
  15. 作为普通函数执行
  16. call apply bind

    2.5箭头函数中的this

    首先,箭头函数没有自己的this,箭头函数中的this是在定义函数的时候绑定,它会捕获其所在的上下文的this作为自己的this,而不像普通函数那样是在执行函数的时候绑定。
相关文章
|
27天前
|
数据采集 数据库 Python
Python异步编程入门:告别“等待”,让代码飞起来
Python异步编程入门:告别“等待”,让代码飞起来
215 100
|
19天前
|
人工智能 Cloud Native 测试技术
2026大厂测试技术栈全景:新人该学什么?
2026年大厂测试技术栈全景:Playwright成自动化首选,k6+云真机+契约测试普及,AI辅助提效。测试工程师需从“质量检查”转向“质量工程”,掌握主流工具,保持技术敏感,以实战能力应对变化。
|
2月前
|
监控 安全 Unix
iOS 崩溃排查不再靠猜!这份分层捕获指南请收好
从 Mach 内核异常到 NSException,从堆栈遍历到僵尸对象检测,阿里云 RUM iOS SDK 基于 KSCrash 构建了一套完整、异步安全、生产可用的崩溃捕获体系,让每一个线上崩溃都能被精准定位。
574 70
|
27天前
|
人工智能 安全 API
Nacos 安全护栏:MCP、Agent、配置全维防护,重塑 AI Registry 安全边界
Nacos安全新标杆:精细鉴权、无感灰度、全量审计!
543 64
|
2月前
|
数据采集 人工智能 运维
AgentRun 实战:快速构建 AI 舆情实时分析专家
搭建“舆情分析专家”,函数计算 AgentRun 快速实现从数据采集到报告生成全自动化 Agent。
800 56
|
23天前
|
人工智能 测试技术 开发者
AI Coding后端开发实战:解锁AI辅助编程新范式
本文系统阐述了AI时代开发者如何高效协作AI Coding工具,强调破除认知误区、构建个人上下文管理体系,并精准判断AI输出质量。通过实战流程与案例,助力开发者实现从编码到架构思维的跃迁,成为人机协同的“超级开发者”。
1496 106
|
26天前
|
Kubernetes 应用服务中间件 API
应对 Nginx Ingress 退役,是时候理清这些易混淆的概念了
本文希望提供一种更简单的方式,来理解这些容易混淆的技术概念:Nginx、Ingress、Ingress Controller、Ingress API、Nginx Ingress、Higress、Gateway API。
635 66
|
12天前
|
人工智能 运维 负载均衡
探秘 AgentRun丨为什么应该把 LangChain 等框架部署到函数计算 AgentRun
阿里云函数计算AgentRun全新发布,打造一站式Agentic AI基础设施。支持LangChain等主流框架无缝迁移,提供Serverless运行时、企业级Sandbox、模型高可用与全链路可观测能力,助力AI Agent高效、安全、低成本落地生产,平均TCO降低60%。
探秘 AgentRun丨为什么应该把 LangChain 等框架部署到函数计算 AgentRun
|
18天前
|
存储 数据采集 弹性计算
面向多租户云的 IO 智能诊断:从异常发现到分钟级定位
当 iowait 暴涨、IO 延迟飙升时,你是否还在手忙脚乱翻日志?阿里云 IO 一键诊断基于动态阈值模型与智能采集机制,实现异常秒级感知、现场自动抓取、根因结构化输出,让每一次 IO 波动都有据可查,真正实现从“被动响应”到“主动洞察”的跃迁。
219 55

热门文章

最新文章