导语:本文系统梳理JavaScript的核心知识框架,适用于编程入门学习者。内容涵盖基础语法、数据类型、函数应用及内置对象,帮助读者构建清晰的JS知识体系。


一、语言基础与执行原理

  1. 浏览器执行机制

    • 渲染引擎:解析HTML/CSS(如Chrome的Blink内核)

    • JS引擎:解释执行代码(如Chrome的V8引擎)

  2. 语言组成架构

    组件

    功能

    应用场景

    ECMAScript

    语言标准规范

    基础语法实现

    DOM

    文档对象模型

    网页元素操作

    BOM

    浏览器对象模型

    窗口交互控制

  3. 代码编写规范

    <!-- 行内式(不推荐) -->
    <button onclick="console.log('Hello')">Click</button><!-- 嵌入式 -->
    <script>alert('嵌入式示例');
    </script><!-- 外部引入(推荐) -->
    <script src="main.js"></script>

二、数据类型与操作符

1. 核心数据类型
// 基本类型检测
console.log(typeof 42);          // 'number'
console.log(typeof 'text');      // 'string'
console.log(typeof undefined);   // 'undefined'
2. 类型转换要点
// 隐式转换风险
console.log('10' - 5);   // 5(数值计算)
console.log('10' + 5);   // "105"(字符串拼接)// 显式转换实践
const input = prompt('输入数字');
const num = parseFloat(input) || 0;
3. 操作符优先级

类型

符号

说明

算术

+ - * /

基础运算

比较

> < ======

严格相等

逻辑

`&&


三、函数与作用域

1. 函数定义与参数
function calculate(a, b = 0) { // 默认参数return a * b; 
}
console.log(calculate(5)); // 0(使用默认值)
2. 作用域链示例
let global = 1;
function outer() {let local = 2;function inner() {console.log(global + local); // 3(闭包特性)}return inner;
}
3. 预解析机制
console.log(x); // undefined(变量提升)
var x = 10;

四、对象与内置API

1. 对象创建方式对比

方式

示例

特点

字面量

const obj = { key: 'value' }

简洁高效

构造函数

new Object()

灵活扩展

Class

class Person { }

ES6标准化

2. 常用内置对象

Math对象应用

// 生成区间随机数
function getRandom(min, max) {return Math.floor(Math.random() * (max - min)) + min;
}

日期格式化实践

const now = new Date();
console.log(`${now.getFullYear()}-${now.getMonth()+1}-${now.getDate()}` // 2023-8-7
);

数组高阶方法

// 安全数组合并
const arr1 = [1, 2];
const arr2 = [3, 4];
const merged = [...arr1, ...arr2]; // [1,2,3,4]

五、内存管理机制

1. 数据存储原理

类型

存储位置

传递方式

基本类型

栈内存

值拷贝

引用类型

堆内存

地址引用

2. 典型应用场景
// 引用类型传参风险
function updateConfig(obj) {obj.version = 2.0; // 修改原对象
}
const appConfig = { version: 1.0 };
updateConfig(appConfig);
console.log(appConfig.version); // 2.0

学习建议

  1. 基础优先

    :掌握变量作用域、原型链等核心概念

  2. 实践驱动

    :通过Chrome控制台实时调试代码

  3. 文档参考

    :MDN Web Docs为权威学习资源

  4. 项目进阶

    :从简易计算器到TODO应用逐步提升

技术学习需持续积累,警惕“速成专家”宣传。建议通过开源项目参与实践(如GitHub的beginner-friendly标签项目)。


Java零基础学习:https://pan.quark.cn/s/7423cd74e088

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92405.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92405.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92405.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 Kotlin 中使用函数类型和 lambda 表达式

参考官方文档: https://developer.android.google.cn/codelabs/basic-android-kotlin-compose-function-types-and-lambda?hl=zh-cn#0 1、 将函数存储在变量中 作为一种一级结构,函数也属于数据类型,因此,可以将函数存储在变量中、将函数传递到函数,以及从函数返回函数…

计算机硬件组成原理

&#x1f9e0; 一、计算机的硬件组成&#xff1a;五大核心部件 根据“冯诺依曼体系结构”&#xff0c;现代计算机主要由这 5大部分组成&#xff1a;部件作用通俗解释1️⃣ 运算器&#xff08;ALU&#xff09;负责算术和逻辑运算会加减乘除和做判断的“计算工厂”2️⃣ 控制器&a…

告别 window.open,拥抱全新浮窗体验!

深入了解 Document Picture-in-Picture API&#xff0c;并对比 Modal 的最佳使用场景在前端开发中&#xff0c;我们经常会遇到这样的需求&#xff1a;弹出一个浮动窗口来显示一些实时信息、工具栏或视频内容。过去我们会用 window.open()&#xff0c;后来越来越多的开发者倾向于…

Python爬虫实战:研究weiboSpider技术,构建新浪微博数据采集系统

1. 引言 1.1 研究背景 在信息时代,社交媒体已成为人们获取信息、表达观点的重要渠道。微博作为其中的典型代表,拥有庞大的用户群体和活跃的内容生态。截至 2023 年底,微博月活跃用户数已超过 5.8 亿,日均发博量达数千万条,数据涵盖社会热点、公众情绪、消费偏好等多维度…

HashMap初始化容量为10,还未添加数据时,它的实际容量是多少?

在Java中&#xff0c;当使用 new HashMap<>(10) 初始化一个容量为10的 HashMap 但尚未添加任何数据时&#xff0c;其实际容量&#xff08;底层数组的长度&#xff09;不是10&#xff0c;而是16。原因如下&#xff1a;关键机制解析&#xff1a;容量必须是2的幂HashMap要求…

前端开发:CSS(2)—— 选择器

前面我们初步学习了CSS&#xff0c;对其有了基本的认识。下面我们来具体学习CSS中的选择器。 目录 选择器的种类 1.基础选择器 &#xff08;1&#xff09;标签选择器 &#xff08;2&#xff09;类选择器 &#xff08;3&#xff09;id选择器 &#xff08;4&#xff09;通…

人工智能2.0时代的人才培养和通识教育

目录引言&#xff1a;从"机器模仿"到"智能协同"的时代跨越一、人工智能2.0的技术演进&#xff1a;从规则到大模型的三次跃迁1. 人工智能0.0&#xff08;1956-2006&#xff09;&#xff1a;规则驱动的"专家系统时代"2. 人工智能1.0&#xff08;20…

管理索引常用的API

二.管理索引常用的API 1.查看现有索引信息 查看所有索引信息列表&#xff1a;curl -X GET http://elk101.k8s.com:9200/_cat/indices?v查看某个索引的详细信息:curl -x GET http://elk101.k8s.com:9200/linux-2020-10-2温馨提示: (1)"?v"表示输出表头信息&#xff…

当文档包含表格时,如何结合大模型和OCR提取数据?

在AI应用极速发展的当下&#xff0c;LLM&#xff08;大语言模型&#xff09;与RAG&#xff08;检索增强生成&#xff09;系统已成为构建智能问答、知识管理等高阶应用的核心引擎。 然而&#xff0c;许多团队在项目落地时遭遇了现实的挑战&#xff1a;模型的实际表现——无论是回…

机器学习工程化 3.0:从“实验科学”到“持续交付”的 7 个关卡

一、背景&#xff1a;为什么 90% 的 ML 项目死在了实验台&#xff1f; Gartner 2024 报告显示&#xff0c;87% 的企业机器学习项目未能走出实验室。原因并非算法落后&#xff0c;而是缺少“工程化骨骼”&#xff1a;数据漂移无人发现&#xff0c;模型上线一周就失效&#xff1b…

BGP笔记整理

一、BGP 基础概念1. 产生背景BGP&#xff08;Border Gateway Protocol&#xff09;是自治系统&#xff08;AS&#xff09;间的动态路由协议&#xff0c;属于外部网关协议&#xff08;EGP&#xff09;&#xff0c;用于在不同 AS 之间传递路由信息。2. 自治系统&#xff08;AS&am…

Mysql-MVCC机制

1. MVCC机制详解 在Read Uncommitted级别下&#xff0c;事务总是读取到最新的数据&#xff0c;因此根本用不到历史版本&#xff0c;所以MVCC不在该级别下工作。 在Serializable级别下&#xff0c;事务总是顺序执行。写会加写锁&#xff0c;读会加读锁&#xff0c;完全用不到MVC…

MySQL面试题及详细答案 155道(061-080)

《前后端面试题》专栏集合了前后端各个知识模块的面试题&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

大数据中需要知道的监控页面端口号都有哪些

以下是一些大数据中常见组件监控页面的端口号&#xff1a;1. Hadoop&#xff1a;HDFS Web UI在Hadoop2.x版本中默认端口为50070&#xff0c;在Hadoop3.x版本中为9870&#xff0c;用于查看集群文件及目录&#xff1b;YARN Web UI端口为8088&#xff0c;可查看MR执行情况&…

时隔六年!OpenAI 首发 GPT-OSS 120B / 20B 开源模型:性能、安全与授权细节全解

为什么这次开放值得关注&#xff1f; OpenAI 时隔六年再次“放权重”&#xff0c;一次性公布 gpt-oss-120b 与 gpt-oss-20b 两个尺寸&#xff0c;并允许商业化二次开发 —— 采用 Apache 2.0 许可且可直接在 Hugging Face 下载(WIRED)。官方表示&#xff0c;开放旨在 降低门槛…

漏洞全讲解之中间件与框架漏洞(数字基础设施的“阿喀琉斯之踵“)

一、中间件漏洞的严峻现状根据Synopsys《2023年开源安全报告》显示&#xff1a;企业应用中平均包含158个中间件依赖高危漏洞年增长率达62%&#xff08;X-Force数据&#xff09;最危险漏洞&#xff1a;Log4j2&#xff08;CVE-2021-44228&#xff09;影响全球83%企业平均修复延迟…

Leetcode——菜鸟笔记2(移动0)

文章目录题目解题题目 解题 /*nums【0&#xff0c;1&#xff0c;0&#xff0c;3&#xff0c;2】numsSize5 nums【1.3.2.0.0】 1.找非零数&#xff0c;依次放在前面 2.剩下补0 */ void moveZeroes(int* nums, int numsSize) {int count0 0;int temp 0;for (int i 0; i < …

【LINUX网络】应用层自定义协议与序列化——通过实现一个简单的网络计算器来体会自定义协议

在了解了各种协议的使用以及简单的socket接口后&#xff0c;学会了“怎么传”的问题&#xff0c;现在来了解一下“传什么”的问题。 1. 序列化与反序列化 在前面的TCP、UDP的socket api 的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接收的. 如果我们要传输一…

电脑一键重装系统win7/win10/win11无需U盘(无任何捆绑软件图文教程)

建议还是使用U盘进行重装系统&#xff0c;如果暂时还不会没有U盘&#xff0c;那就按照我这个来吧。 一&#xff0c;工具下载&#xff1a; 一键重装工具 密码:g5p3 二&#xff0c;镜像下载: 镜像站点&#xff1a;MSDN, 我告诉你 - 做一个安静的工具站 可以下载需要重装的系统…

深入探索Supervision库:Python中的AI视觉助手

深入探索Supervision库&#xff1a;Python中的AI视觉助手 在计算机视觉和机器学习领域&#xff0c;数据处理和结果可视化是项目成功的关键环节。今天我们将深入探讨一个强大的Python库——Supervision&#xff0c;它专为简化AI视觉项目的工作流程而设计。 什么是Supervision&am…