JavaScript看这一篇就够了,简单全面一发入魂

JavaScript 复习笔记(巩固学习JavaScript一篇就够)JavaScript基础快速入门 Javascript复习笔记 最近找了一些教程重新学习(复习) JavaScript,顺道将学习内容整理成笔记,巩固所学知识,同时也参考一些博客,书籍上的内容,查漏补缺,给自己充充电???????? 工欲善其事,必先利其器,为了提高开发效率,前端开发首选:VSCode(Visual Studio Code)。 初识JavaScript **「创始人」**布兰登·艾奇(Brendan Eich),起初命名为LiveScript后来Sun公司收购并改名为JavaScript。 **「JavaScript」* 阅读详情
AI摘要

本文详细介绍了JavaScript的基础知识,包括DOM和BOM在浏览器中的作用,HTML中JavaScript的使用技巧,如script标签的属性和延迟加载。接着探讨了语言基础,如变量的大小写敏感性和分号使用建议。对比了var、let和const的差异,并解释了对象池管理和内存管理。深入讲解了Map和Set的数据结构,以及它们与Object的区别。此外,文章还介绍了生成器的概念和用法,以及原型链的工作原理,包括构造函数、原型和实例的关系。

一、什么是JavaScript

1、DOM

文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在HTML中使用扩展的HTML。DOM将整个页面抽象为一组分层节点。
DOM通过创建表示文档的树,让开发者可以随心所欲的控制网页的内容和结构。使用DOM API可以轻松地删除、添加、替换、修改节点。
对浏览器而言,DOM就是使用ECMAScript实现的,如今已经成为JavaScript语言的一大组成部分。
言而言之,DOM提供与网页内容交互的方法和接口。

2、BOM

IE3和Netscape Navigator3提供了浏览器对象模型(BOM)API,用于支持访问和操作浏览器的窗口。使用BOM,开发者可以操控浏览器显示页面之外的部分。
BOM的能力展示:

  1. 弹出新浏览器窗口的能力;
  2. 移动、缩放和关闭浏览器窗口的能力;
  3. navigator对象,提供关于浏览器的详尽信息;
  4. location对象,提供浏览器加载页面的详尽信息;
  5. screen对象,提供关于用户屏幕分辨率的详尽信息;
  6. performance对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;
  7. 对cookie的支持;
  8. 其它自定义对象,如XMLHttpRequest和IE的ActiveXObject。
    简而言之,BOM提供与浏览器交互的方法和接口。

二、HTML中的JavaScript

1、script标签

<script>标签有8大属性,可以包含来自外部域的JavaScript文件,<script>的src属性可以是一个完整的URL,并且这个URL指向的资源可以跟包含它的HTML页面不在同一个域中,浏览器解析这个资源时,会想src属性指定的路径发送一个GET请求,以取得相应资源,这个初始的请求不受浏览器同源策略限制,但返回并被执行的JavaScript则受限制。当然,这个请求仍然受父页面HTTP/HTTPS协议的限制。

2、标签位置

过去,所有的<script>标签都放在head标签中,这就意味着所有JavaScript代码都要下载、解析和解释完成后,才能开始渲染页面(页面在浏览器解析到<body>标签的起始标签时开始渲染)。对于需要很多JavaScript的页面,会导致页面渲染的明显延迟,在此期间浏览器窗口完全空白。
为了解决这个问题,现代Web应用程序通常将所有JavaScript引用放在<body>元素中的页面内容后面。

3、延迟执行脚本

正常情况下,JavaScript的代码是书序执行的。
defer脚本会延迟到整个页面都解析完毕后再运行,只适用于外部脚步。
async脚本与defer脚本类似,都是只适用于外部脚本,但async脚本并不能保证按照它们出现的次序执行。

4、动态加载脚本

JavaScript可以通过向DOM中动态添加script元素同样可以加载指定的脚本,只要创建一个script元素并将其添加到DOM即可。

let script = document.createElement('script');
script.src = 'nezha.js';
document.head.appendChild(script);

默认情况下,以这种方式创建的<script>标签都以异步方式加载,相当于加了async标签。

5、将JavaScript代码独立于HTML的好处

  1. 可维护性
  2. 缓存。浏览器会根据特定的设置缓存所有外部链接的JavaScript文件,这意味着如果两个页面都用到同一个JavaScript文件,则该文件只需加载一次,这最终意味着页面加载更快。

三、语言基础

1、严格区分大小写

2、ECMAScript中的语句推荐以分号结尾

  1. 加分号有助于防止省略造成的问题
  2. 避免输入内容不完整
  3. 便于开发者通过删除空行来压缩代码(如果没有结尾的分号,只删除空行,则会导致语法错误)
  4. 加分号有助于提升性性能,因为解析器会尝试在合适的位置补上分号以纠正语法错误。

四、对比var与let、const

  1. let不具备声明提升,var具备声明提升
  2. let声明的范围是块作用域,而var声明的范围是函数作用域。
  3. let是ES6才引入的声明关键字
  4. for循环中的let声明
  5. const与let很相似,最大的区别是const必须初始化,且不能再次赋值。

结语:

  1. 不使用var,有了let和const,大多数开发者会发现自己不再需要var了,限制自己只使用let和const,有助于提升代码质量,因为变量有了明确的作用域、声明位置、以及不变的值。
  2. const优先,let次之。使用const声明可以让浏览器运行时强制保持变量不变,也可以让静态代码分析工具提前发现不合法的赋值操作。

五、对象池管理

通过创建对象池管理一组可回收的对象,应用程序可以向这个对象池请求一个对象、设置其属性,使用他,然后
在操作完成后再把它交还给对象池,因为没有对象初始化,垃圾回收探测刽发现兑现更替,因此垃圾回收程序就不会频繁调用了。

let v1 = vectorPool.allocate();
let v2 = vectorPool.allocate();
let v3 = vectorPool.allocate();

v1.x = 10;
v1.y = 5;
v2.x = 11;
v2.y = 12;

addVector(v1,v2,v3);

vectorPool.free(v1);
vectorPool.free(v2);
vectorPool.free(v3);

由于数组是动态可变的,当创建一个大小为100的数组,使用时发现不够大,引擎会删除这个数组,然后创建一个新的,
垃圾回收程序会看到这个删除操作,然后很快的就来收一次垃圾,要避免这种动态分配操作。

六、变量、作用域、内存

JavaScript变量可以保存两种类型的值:原始值和引用值。

1、原始值6种数据类型

  1. Undefined
  2. Null
  3. Boolean
  4. Number
  5. String
  6. Symbol

2、原始值和引用值特点

  1. 原始值大小固定,保存在栈内存中
  2. 从一个变量到另一个变量复制原始值,会创建该值得第二个副本
  3. 引用值是对象,存储在堆内存中
  4. 包含引用值的变量实际上只包含指向相应对象的一个指针,而不是对象本身
  5. 从一个变量到另一个变量复制引用值,只会复制指针,因此结果是两个变量都指向同一个对象
  6. typeof操作费可以确定值的原始类型,instanceof操作符用于确保值得引用类型

3、执行上下文

任何变量都存在于某个执行上下文中(也称为作用域)。这个上下文(作用域)决定了变量的生命周期,以及它们可以访问代码的哪些部分。
执行上下文可以总结如下:

  1. 执行上下文分为 ① 全局上下文、② 函数上下文、③ 块级上下文
  2. 代码执行流每进入一个新上下文,都会创建一个作用域链,用于搜索变量和函数
  3. 函数或块的局部上下文不仅可以访问自己作用域内的变量,也可以访问任何包含上下文乃至全局上下文的变量
  4. 全局上下文只能访问全局上下文中的变量和函数,不能直接访问局部上下文中的任何数据
  5. 变量的执行上下文用于确定什么时候释放内存

4、JavaScript垃圾回收

JavaScript是使用垃圾回收的编程语言,开发者不需要操心内存分配和回收。

  1. 离开作用域的值会被自动标记为可回收,然后在垃圾回收期间被删除
  2. 主流的垃圾回收算法是标记算法,即先给当前不使用的值加上标记,再回来回收它们的内存
  3. 引用计数是另一种垃圾回收策略,需要记录值被引用了多少次。JavaScript引擎不再使用这种算法,但某些旧版本的IE仍然会受这种算法的影响,原因是JavaScript会访问非原生JavaScript对象(如DOM对象)。
  4. 引用计数在代码中循环引用时会出现问题
  5. 解除变量的引用不仅可以消除循环引用,而且对垃圾回收也有帮助。为促进内存回收,全局对象、全局对象的属性和循环引用都应该在不需要时解除引用。

七、map基础API

1、set()方法添加键值对

2、get()和has()进行查询

3、delete()和clear()进行删除

4、size获取map获取键值对数量

八、顺序与迭代

与Object的主要差异是,map实例会维护键值对的插入顺序,可以根据插入顺序执行迭代操作。
映射实例可以通过迭代器Iterator,能以插入顺序生成[key,value]形式的数组,可以通过entries()方法,或者Symbol.iterator属性,它引用entries()取得这个迭代器。

const map = new Map([
	["id","1"],
	["name","哪吒"],
	["age","18"]
]);

for(let x of map.entries()){
	alert(x);
}
//[id,1]
//[name,哪吒]
//[age,18]

for(let x of map[Symbol.iterator]()){
	alert(x);
}
//[id,1]
//[name,哪吒]
//[age,18]

map.foreach((val,key) => alert(`${key} -> ${val}`));
//id -> 1
//name -> 哪吒
//age -> 18

for(let key of map.keys()){

}

for(let v of map.values()){

}

九、Object和Map到底有什么区别?

1、内存占用

给定固定大小内存的情况下,Map一般会比Object多存储50%的键值对。

2、插入性能

插入Map一般会稍微快一点。

3、查找速度

相差无几。

4、删除性能

Map的删除性能完胜Object。
综上四点,选择Map显然是更好地选择。

十、Set

1、基础API

  1. 添加add()
  2. 查询has()
  3. 获取数量size
  4. 删除delete()
  5. 清空clear()

2、顺序与迭代

Set会维护值插入时的顺序,因此支持按顺序迭代。
集合实例可以提供一个迭代器Iterator,能以插入顺序生成集合内容。可以通过values()方法及其别名方法keys(),或者Symbol.iterator属性,他引用values(),取得这个迭代器。

const s = new Set("哪吒","云韵","比比东");

alert(s.keys === s[Symbol.iterator]);//true
alert(s.values === s[Symbol.iterator]);//true

for(let value of s.values()){

}

for(let value of s[Symbol.iterator]){

}

因为values()是默认迭代器,所以可以直接对集合实例使用扩展操作,把集合转为数组:

const s = new Set("哪吒","云韵","比比东");
console.log([...s]);//["哪吒","云韵","比比东"]

十一、什么是生成器

1、生成器简介

生成器是ECMAScript6新增的一个极为灵活的结构,拥有在一个函数块内暂停和恢复代码执行的能力。这种新能力具有较深远的影响,比如,使用生成器可以自定义迭代器和实现协程。
生成器的形式是一个函数,函数名称前面加一个星号*,表示它是一个生成器。只要是可以定义函数的地方,就可以定义生成器。
调用生成器函数会产生一个生成器对象,生成器对象一开始处于暂停执行(suspended)状态。与迭代器相似,生成器对象也实现了Iterator接口,因此具有next()方法。调用这个方法会让生成器开始或恢复执行。
next()方法的返回值类似于迭代器,有一个done属性和一个value属性。函数体为空的生成器函数中间不会停留,调用一次next()就会让生成器到达done:true状态。
value属性是生成器函数的返回值,默认值为undefined,可以通过生成器函数的返回值指定:

function * generatorFn(){
	return '哪吒编程'
}

生成器函数只会在初次调用next()方法之后开始执行。

2、通过yield中断执行

yield关键字可以让生成器停止和开始执行,也是生成器最有用的地方,生成器函数在遇到yield关键字之前会正常执行。遇到这个关键字之后,执行器会停止,函数作用域的状态会被保留。停止执行的生成器函数只能通过在生成器对象上调用next()方法来恢复执行。

  1. 生成器对象作为可迭代对象
  2. 使用yield实现输入和输出
  3. 产生可迭代对象
  4. 使用yield*实现递归算法

3、生成器作为默认迭代器

因为生成器对象实现了Iterable接口,而且生成器函数和默认迭代器被调用之后都产生迭代器,所以生成器格外适合作为默认迭代器。

4、提前终止生成器

1、使用return()终止生成器
2、使用throw()
throw()方法会在暂停的时候提供一个错误注入到生成器对象中。如果错误未被处理,生成器就会关闭。不过如果生成器函数内部处理了这个错误,生成器就不会关闭,还可以恢复执行。

5、生成器小结

迭代是一种所有编程语言中都可以看到的模式。ECMASCript正式支持迭代模式并引入两个新的语言特性:迭代器和生成器。
迭代器是一个可以由任意对象实现的接口,支持连续获取对象产出的每一个值。任何实现Iterable接口的对象都有一个Symbol.iterator属性,这个属性引用默认迭代器。默认迭代器就像一个迭代器工厂,也就是一个函数,调用之后会产生一个实现Iterator接口的对象。
迭代器必须通过连续调用next()方法才能连续获取值,这个方法返回一个IteratorObject。这个对象包含一个done属性和一个value属性。前者时刻一个布尔值,表示十分还有更多值可以访问;后者包含迭代器返回的当前值。这个接口可以通过手动反复调用next()方法来消费,也可以通过原生消费者,比如for循环来自动消费。
生成器是一种特殊的函数,调用之后会返回一个生成器对象。生成器对象实现了Iterable接口,因此可用在任何消费可迭代对象的地方。生成器的独特之处在于支持yield关键字,这个关键字能够暂停执行生成器函数。使用yield关键字还可以通过next()方法接收输入和产生输出。在加上星号之后,yield关键字可以将跟在后面的可迭代对象序列化为一连串值。

十二、原型链

ECMA-262把原型链定义为ECMAScript的主要继承方式。其基本思想就是通过原型继承多个引用类型的属性和方法。

1、构造函数、原型、实例三者的关系?

每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个内部指针指向原型。如果原型是另一个类型的实例呢?那就意味着这个原型本身有一个内部指针指向另一个原型,相应地另一个原型也有一个指针指向另一个构造函数,这样就在实例和原型之间构造了一条原型链。

2、盗用构造函数

为了解决原型链包含引用值导致的继承问题,引入了盗用构造函数的概念。基本思路很简单,在子类构造函数中调用父类构造函数,因为毕竟函数就是在特定上下文中执行代码的简单对象,所以可以使用apply()或call()方法,重新创建上下文执行构造函数。
相比于使用原型链,盗用构造函数的一个优点就是可以在子类构造函数中向父类构造函数传参。

3、组合继承

组合继承综合了原型链和盗用构造函数,将两者的优点集中了起来,基本的思路是使用原型链继承原型上的属性和方法,而通过盗用构造函数继承实例属性。这样既可以把方法定义在原型上以实现重用,又可以让每个实例都有自己的属性。
组合继承也保留了instanceof操作符和isPrototypeOf()方法识别合成对象的能力。

🍅 作者简介:哪吒,优快云2021博客之星亚军🏆、新星计划导师✌、博客专家💪

🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师

🍅 关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、大厂面试真题、加入万粉计划交流群、一起学习进步


下一篇:JavaScript数组你都掰扯不明白,简历上你敢写精通JavaScript?

在这里插入图片描述

JS入门到精通完整版 JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。它是作为开发Web页面的脚本语言而出名,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。..................... 阅读详情

相关推荐

从BIOS到路由器:深入拆解SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)奥秘

本文深入解析SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)技术,从BIOS到路由器的应用场景出发,详细介绍了其架构精髓、典型连接方案、时序设计及性能优化方法。通过实际案例和参数对比,帮助开发者掌握NOR Flash在嵌入式系统中的关键作用与设计技巧,提升电路设计效率与可靠性。

weixin_30522183的博客 490

JavaScript--js基础(详细 全面)

本文旨在介绍和学习JavaScript的基础知识。通过本文的阅读,读者将能够了解JavaScript在网页开发中的重要性和作用,掌握其基础语法和概念。不论是初学者还是有一定经验的开发者,都可以通过本文来加深对JavaScript的理解,并提升自己的开发能力。希望读者能够从中获得有益的知识,为日后的学习和实践打下坚实基础。愿读者在学习JavaScript的过程中不断成长,探索更多可能性

Dreamkidya的博客 3万+

SNN目标识别MNIST

总体来说这篇论文提出的方法用了多种更精密的细节,如LIF膜电位公式,三种STDP方法,但我觉得还可以有很大的改进,比如输入层全连接到兴奋层,兴奋层通过抑制层实现的侧向抑制,抑制层不参与学习等等。尤其是兴奋层通过抑制层实现侧向抑制这里,当神经元兴奋时,通过抑制层再倒回兴奋层,所抑制的已经经过一了一段时间的延迟。如有错误,请不吝赐教。

m0_74982304的博客 1260

JavaScript 教程 (详细 全面)

JavaScript(简称“JS”)是当前最流行、应用最广泛的客户端脚本语言,用来在网页中添加一些动态效果与交互功能,在 Web 开发领域有着举足轻重的地位。HTML 用来定义网页的内容,例如标题、正文、图像等;CSS 用来控制网页的外观,例如颜色、字体、背景等;JavaScript 用来实时更新网页中的内容,例如从服务器获取数据并更新到网页中,修改某些标签的样式或其中的内容等,可以让网页更加生动。JavaScript 诞生于 1995 年,几乎是和互联网同时出现;

梁辰兴的博客 12万+

Claude Code启动失败解决方案,执行文件不兼容一键修复

Claude Code命令行工具突然报错,显示"不支持的16位应用程序"。作者排查Node版本无果后,发现是Anthropic更新导致Windows兼容性问题。解决方法很简单:卸载旧版、切换npm镜像源、重装最新版即可恢复。经验教训:遇到类似问题应先搜索社区反馈,避免无谓排查,同时注意npm源使用后及时还原。整个踩坑过程虽折腾,但最终只是简单的重装问题。

1450

基准电压 + 运放 + 低边MOS恒流源控制原理

因为恒流源强制 Iout不变,而 Vin​ 增加时,负载压降 Iout⋅Rload不变,多余的电压只能由MOS管的 VDS承担,因此 VDS必然增加。在饱和区,MOS 管的 ID 仅由 VGS决定,与 VDS 无关,这样,负载变化时,VDS可自由调整以维持 Iout恒定。当 Vin​ 小到无法满足 VDS>VGS−Vth时,MOS管进入线性区,Iout 会随 Vin​ 下降而减小,恒流失效。由于 Vref和 Rsense未变,Iout无需调整,运放无需动作,OUT保持不变,Iout恒定。

weixin_50643237的博客 2651

JavaScript详解

HTML对象,定时器,表单验证,正则表达式

weixin_48373085的博客 4万+

开源分享:苹果群控手机源代码解析与实战

本文介绍了苹果设备群控的基本原理和实现方法,重点解析了基于Python+Appium的群控系统构建。主要内容包括:1)设备连接管理技术(USB/Wi-Fi);2)自动化控制方式(WDA/AppleScript/Appium);3)实战演示了通过Python脚本实现多设备同时控制,涵盖环境配置、代码解析和功能说明;4)提出了多线程、图像识别等优化方向。文章为开发者提供了快速上手的群控方案,适用于自动化测试、批量管理等场景,并推荐了相关开源项目参考。

2403_88540309的博客 1343

前端基础--JavaScript

HTML HTML介绍 & 规范 介绍 HTML 指的是超文本标记/标签语言 (Hyper Text Markup Language). 专门制作网页的计算机语言. 超文本的意思是有一些单词或字母,在网页浏览器的世界中被赋予了特殊的权利。 记事本开发第一个网页 <html> <head> <title>第一个网页</title> </head> <body> Hello World! </body>

qq_50048558的博客 8588

详解GPU显存和batch size的关系

GPU显存、规格指标;神经网络训练,显存占用

orangerfun的博客 6211

2025.06.18【转录组】|Ribo-seq/small RNA数据分析:rRNA和smRNA比对率统计全流程

本文介绍了一种自动化统计rRNA/smRNA比对率的方法,用于评估Ribo-seq或small RNA测序数据的质量。主要内容包括:分析原理(比对率定义、参考序列来源)、实践流程(构建索引、比对统计)以及结果可视化方法。通过Python和R脚本实现自动化处理,可生成汇总表格和柱状图。比对率结果能反映样品污染程度,建议控制在20%以下。该流程有助于快速评估测序质量,为后续分析提供可靠依据。文中还提供了常见问题解决方案和脚本示例,适用于生物信息学标准化质控环节。

1614

JavaScript面试题看这一篇就够了,简单全面一发入魂(持续更新 step1)

1、BOM、COM、DOM有什么区别? 2、JavaScript中代码后加不加分号;有什么区别? 3、如何判断一个对象是不是数组? 在只有一个全局作用域的时候,使用instanceof操作符就足矣: if(value instanceof Array){ //操作数组 } 使用instanceof的前提是只有一个全局执行上下文,如果网页里有多个框架,则可能涉及两个不同的全局上下文,因此就会有两个不同版本的Array构造函数。如果要把数组从一个框架传到另一个框架,则这个数组的构造函数将有别于第二个框架内本

学Java,找哪吒 1万+

斗鱼直播间弹幕爬虫实战:WebSocket连接与实时数据采集

在数据驱动的时代,直播平台的弹幕数据蕴含着巨大的价值——用户行为分析、舆情监控、弹幕情感分析、直播热度评估等应用场景层出不穷。斗鱼作为国内领先的直播平台,其弹幕系统基于WebSocket协议实现实时双向通信。本文将带您从零开始,使用Python构建一个完整的斗鱼直播间弹幕爬虫系统。

2201_76125261的博客 133

JavaScript面试题看这一篇就够了,简单全面一发入魂(持续更新 step2)

1、如何解决循环中动态添加div,造成的死循环问题? 表达式①: let divs = document.getElementsByTagName("div"); for(let i = 0;i<divs.length;++i){ let div = document.createElement("div"); document.body.appendChild(div); } 表达式②: let divs = document.getElementsByTagName("div"); for(

学Java,找哪吒 7235

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Javascript:看这一篇就够了

本文系统梳理JavaScript核心语法、运行机制及常见难点,帮助开发者建立完整的知识框架。从基础概念到进阶内容,全面解析JavaScript的关键知识点,适合不同水平的开发者学习参考。通过整合零散知识,形成清晰认知体系,提升对JavaScript的理解深度和应用能力。

weixin_43431593的博客 969

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

异步 “一发入魂“

适配鸿蒙

qq_46025779的博客 1329

lwip-2.0.3

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

学习JavaScript这一篇就够了

目录第一章 JavaScript简介1.1、JavaScript的起源1.2、JavaScript的组成1.3、JavaScript的特点1.4、JavaScript的使用1.4.1、标签引用1.4.2、文件引用1.5、JavaScript的输出1.5.1、页面输出1.5.2、控制台输出1.5.3、弹出窗口输出1.6、JavaScript的注释1.6.1、单行注释1.6.2、多行注释第二章 JavaScript基础语法2.1、标识符2.2、字面量和变量2.2.1、字面量2.2.2、变量2.3、数据类型2.3

轻松的小希 92万+

【JavaScript】JS基础,看这一篇就够了!

var 对象名 = {属性名1:属性值1,属性名2:属性值2,属性名3:属性值3,函数名称:function(形参列表){}(**简化写法:不写function,直接 函数名(){}**)age: 30,");在 JavaScript 对象中,键名(属性名)可以不使用引号,或者使用单引号或双引号。在 JavaScript 对象中,字符串可以使用单引号或双引号。

m0_61465749的博客 920

学习JavaScript看这一篇就够了!

外部形式一般将 JavaScript 代码写在独立的以 .js 结尾的文件中,然后通过 标签的 属性引入。 注释和结束符 单行注释使用 注释单行代码 多行注释使用 注释多行代码 输入输出 输入向 输入任意内容会以弹窗形式出现在浏览器中,一般提示用户输入一些内容。 输出JavaScript 可以接收用户的输入,然后再将输入的结果输出:、以数字为例,向 或 输入任意数字,他都会以弹窗形式展示(输出)给用户。变量是计算机中

Geng_____的博客 1628

学会JavaScript这一篇就够了~

文章目录【One】 JavaScript语言基础一、数据类型1、数值型2、字符串型3、布尔型二、常量和变量1、常量2、变量——例子:输出球员的信息三、运算符1、算术运算符——例子:将华氏度转换为摄氏度2、字符串运算符——例子:显示票房信息3、比较运算符——例子:比较两个数值的大小4、赋值运算符5、逻辑运算符6、条件运算符7、其他运算符8、运算符优先级【Two】JavaScript基本语句一、条件判...

lesileqin的博客 5649

JavaScript之Ajax(一篇入门Ajax就够了)

Ajax入门一篇就够

weixin_50602266的博客 12万+

JS快速入门,看这一篇就够了

javaScript是一门世界上最流行的脚本语言。开发历程10天。一个合格的后端人员,必须精通JavaScript!浏览器介绍javaScript和浏览器关系?JavaScript的诞生就是为了能在浏览器中运行!!!BOM:浏览器对象模型IE6~EdgeChromeVivaldiFireFoxOpera第三方浏览器QQ浏览器360浏览器// window代表浏览器窗口undefined6991588181065screen:代表屏幕尺寸。

redemption_2的博客 3919

【js进阶】全面理解Event Loop这一篇就够了

文章目录一、前言 一、前言 event loops隐藏得比较深,很多人对它很陌生。但提起异步,相信每个人都知道。异步背后的“靠山”就是event loops。这里的异步准确的说应该叫浏览器的event loops或者说是javaScript运行环境的event loops,因为ECMAScript中没有event loops,event loops是在HTML Standard定义的。 ...

goodloving的博客 1万+

Node.js看这一篇就够了

Node.js看这一篇就够了

大学生小郑的博客 1334

JavaScript知识详解——看这一篇就够了

JavaScript和CSS一样,不需要使用复杂的工具来编写,可以使用文本编辑器或者Web开发工具来编写。

Z_Data的博客 5883
上一篇: “书中自有颜如玉”读书打卡计划,大众评审环节,第1周读后感精选
下一篇: 比SQL还好用,又一门国产数据库语言诞生了
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2933原创
评论 53
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值