整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

20 个 JavaScript+Html+CSS 练手的小项目

言:

最近在 GitHub 上发现了一个 vanillawebprojects[1] 开源仓库,里面收集了 20 个 JavaScript+Html+CSS的练手项目,没有使用任何框架,可以让你从基础入门到深入学习。这些项目原本是 Udemy20 Web Projects With Vanilla JavaScript 课程的一部分,但是如果你已经拥有了一些基础,不妨试着看一下源码,然后模仿实现吧

1. Form Validator 表单验证

判断输入的表单字段是否合法


2. Movie Seat Booking 预定电影座位

一个简单的电影座位预定演示项目


3. Custom Video Player 定制视频播放器

一个简单的网页视频播放器


4. Exchange Rate Calculator 汇率计算器

计算不同货币的兑换汇率


5. DOM Array Methods Project DOM 数组方法

练习如何操作 DOM 数组


6. Menu Slider & Modal 动态菜单以及弹窗

练习如何弹出登录注册窗口,以及滑动弹出菜单


7. Hangman Game 字符侦探游戏

练习如何判断隐藏字符是否正确


8. Mealfinder App 点餐应用

简单的点餐查询应用


9. Expense Tracker 购物结算应用

简单的购物车结算应用


10. Music Player 音乐播放器

简单的网页音乐播放器


11. Infinite Scrolling 网页无限滚动演示

网页无限向下滚动实现


12. Typing Game 打字游戏

简单的打字输入游戏


13. Speech Text Reader 文本阅读器

文本阅读器


14. Memory Cards 记忆卡片

测试记忆的记忆卡片


15. LyricsSearch App 歌词搜索应用

网页歌词搜索器


16. Relaxer App 休闲呼吸应用

模拟呼吸的节奏


17. Breakout Game 弹跳破冰游戏

简单的网页破冰游戏


18. New Year Countdown 新年倒计时

网页新年倒计时


19. Sortable List 榜单应用

网页财富榜单


20. Speak Number Guessing Game 猜数字游戏

说出数字,猜测数字


今天我们给大家分享了,20 个 JavaScript+Html+CSS 练手小项目,大家觉得哪个最简单,哪个最复杂呢?赶紧去 Github 仓库拉取项目,码上行动吧

欢迎关注公众号:KnowHub 知识加油站!

参考资料

[1]

vanillawebprojects: https://github.com/bradtraversy/vanillawebprojects

这里是云端源想IT,帮你轻松学IT”

嗨~ 今天的你过得还好吗?

我们总是先扬起尘土

然后抱怨自己看不见

- 2024.04.17 -

JavaScript是一种轻量级的编程语言,通常用于网页开发,以增强用户界面的交互性和动态性。然而在HTML中,有多种方法可以嵌入和使用JavaScript代码。

本文就带大家深入了解如何在HTML中使用JavaScript。



一、使用 script 标签

要在HTML中使用JavaScript,我们需要使用<script>标签。这个标签可以放在<head>或<body>部分,但通常我们会将其放在<body>部分的底部,以确保在执行JavaScript代码时,HTML文档已经完全加载。

使用 <script> 标签有两种方式:直接在页面中嵌入 JavaScript 代码包含外部 JavaScript 文件。


包含在 <script> 标签内的 JavaScript 代码在浏览器总按照从上至下的顺序依次解释。


所有 <script> 标签都会按照他们在 HTML 中出现的先后顺序依次被解析。



HTML 为 <script> 定义了几个属性:

1)async:可选。表示应该立即下载脚本,但不妨碍页面中其他操作。该功能只对外部 JavaScript 文件有效。


如果给一个外部引入的js文件设置了这个属性,那页面在解析代码的时候遇到这个<script>的时候,一边下载该脚本文件,一边异步加载页面其他内容。


2)defer:可选。表示脚本可以延迟到整个页面完全被解析和显示之后再执行。该属性只对外部 JavaScript 文件有效。


3)src:可选。表示包含要执行代码的外部文件。


4)type:可选。表示编写代码使用的脚本语言的内容类型,目前在客户端,type 属性值一般使用 text/javascript。不过这个属性并不是必需的,如果没有指定这个属性,则其默认值仍为text/javascript。



1.1 直接在页面中嵌入JavaScript代码

内部JavaScript是将JavaScript代码放在HTML文档的<script>标签中。这样可以将JavaScript代码与HTML代码分离,使结构更清晰,易于维护。


在使用<script>元素嵌入JavaScript代码时,只须为<script>指定type属性。然后,像下面这样把JavaScript代码直接放在元素内部即可:

<script type="text/javascript">
function sayHi(){
alert("Hi!");
}
</script>


如果没有指定script属性,则其默认值为text/javascript。


包含在<script>元素内部的JavaScript代码将被从上至下依次解释。在解释器对<script>元素内部的所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示。


在使用<script>嵌入JavaScript代码的过程中,当代码中出现"</script>"字符串时,由于解析嵌入式代码的规则,浏览器会认为这是结束的</script>标签。可以通过转义字符“\”写成<\/script>来解决这个问题。


1.2 包含外部 JavaScript 文件

外部JavaScript是将JavaScript代码放在单独的.js文件中,然后在HTML文档中通过<script>标签的src属性引用这个文件。这种方法可以使代码更加模块化,便于重用和共享。


如果要通过<script>元素来包含外部JavaScript文件,那么src属性就是必需的。这个属性的值是一个指向外部JavaScript文件的链接。

<script type="text/javascript" src="example.js"></script>


  • 外部文件example.js将被加载到当前页面中。
  • 外部文件只须包含通常要放在开始的<script>和结束的</script>之间的那些JavaScript代码即可。



与解析嵌入式JavaScript代码一样,在解析外部JavaScript文件(包括下载该文件)时,页面的处理也会暂时停止。

注意:带有src属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的JavaScript代码。如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。

通过<script>元素的src属性还可以包含来自外部域的JavaScript文件。它的src属性可以是指向当前HTML页面所在域之外的某个域中的完整URL。

<script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>

于是,位于外部域中的代码也会被加载和解析。


1.3 标签的位置

在HTML中,所有的<script>标签会按照它们出现的先后顺序被解析。在不使用defer和async属性的情况下,只有当前面的<script>标签中的代码解析完成后,才会开始解析后面的<script>标签中的代码。


通常,所有的<script>标签应该放在页面的<head>标签中,这样可以将外部文件(包括CSS和JavaScript文件)的引用集中放置。



然而,如果将所有的JavaScript文件都放在<head>标签中,会导致浏览器在呈现页面内容之前必须下载、解析并执行所有JavaScript代码,这可能会造成明显的延迟,导致浏览器窗口在加载过程中出现空白。


为了避免这种延迟问题,现代Web应用程序通常会将所有的JavaScript引用放置在<body>标签中的页面内容的后面。这样做可以确保在解析JavaScript代码之前,页面的内容已经完全呈现在浏览器中,从而加快了打开网页的速度。


二、执行JavaScript 程序

JavaScript 解析过程包括两个阶段:预处理(也称预编译)执行

  • 在编译期,JavaScript 解析器将完成对 JavaScript 代码的预处理操作,把 JavaScript 代码转换成字节码;
  • 在执行期,JavaScript 解析器把字节码生成二进制机械码,并按顺序执行,完成程序设计的任务。


1、执行过程

HTML 文档在浏览器中的解析过程是:按照文档流从上到下逐步解析页面结构和信息。

JavaScript 代码作为嵌入的脚本应该也算做 HTML 文档的组成部分,所以 JavaScript 代码在装载时的执行顺序也是根据 <script> 标签出现的顺序来确定。

你是不是厌倦了一成不变的编程模式?想要突破自我,挑战新技术想要突破自我,挑战新技术?却迟迟找不到可以练手的项目实战?是不是梦想打造一个属于自己的支付系统?那么,恭喜你,云端源想免费实战直播——《微实战-使用支付宝/微信支付服务,网站在线支付功能大揭秘》正在进行,点击前往获取源码!云端源想

2、预编译

当 JavaScript 引擎解析脚本时候,他会在与编译期对所有声明的变量和函数预先进行处理。当 JavaScript 解析器执行下面脚本时不会报错。

alert(a); //返回值 undefined
var a = 1;
alert(a); //返回值 1


由于变量声明是在预编译期被处理的,在执行期间对于所有的代码来说,都是可见的,但是执行上面代码,提示的值是 undefined 而不是 1。

因为变量初始化过程发生在执行期,而不是预编译期。在执行期,JavaScript 解析器是按照代码先后顺序进行解析的,如果在前面代码行中没有为变量赋值,则 JavaScript 解析器会使用默认值 undefined 。


由于第二行中为变量 a 赋值了,所以在第三行代码中会提示变量 a 的值为 1,而不是 undefined。

fun(); //调用函数,返回值1
function fun(){
alert(1);
}

函数声明前调用函数也是合法的,并能够正确解析,所以返回值是 1。但如果是下面这种方式则 JavaScript 解释器会报错。

fun(); //调用函数,返回语法错误
var fun = function(){
alert(1);
}

上面的这个例子中定义的函数仅作为值赋值给变量 fun 。在预编译期,JavaScript 解释器只能够为声明变量 fun 进行处理,而对于变量 fun 的值,只能等到执行期时按照顺序进行赋值,自然就会出现语法错误,提示找不到对象 fun。

总结:声明变量和函数可以在文档的任意位置,但是良好的习惯应该是在所有 JavaScript 代码之前声明全局变量和函数,并对变量进行初始化赋值。在函数内部也是先声明变量,后引用。

通过今天的分享,相信大家已经对JavaScript在HTML中的应用有了一定的了解。这只是冰山一角,JavaScript的潜力远不止于此。希望这篇文章能激发大家对编程的热情,让我们一起在编程的世界里探索更多的可能性!



我们下期再见!


END

文案编辑|云端学长

文案配图|云端学长

内容由:云端源想分享

多朋友可能在学习javascript的时候感觉很枯燥乏味,找不到方法跟方向,今天就给大家分享些学习javascript的方法技巧跟心得。

如今的编程行业吸引了众多其他行业的同志加入我们程序员的行列,还有很多半路“回车”了。原因大概就以下几种:

  1. 坚持不下去

  2. 没找到方法

  3. 觉得时间太久

  4. 部分人觉得有点难度

  5. 感觉学了不知道怎么用

那么今天就这些问题给大家一个清晰的思路,跟分享如何学好javascript,提前告诉大家一声,学好了javascript,框架之类的都没问题,要知道,JS框架的原生是javascript。

好了,鸡汤之类的我不说,直接开工。

针对第一个原因,我想发表下自己的看法!首先问问自己,为什么当初选择了编程,而如今却寸步难行?其次,你有没有问问自己的决心,是不是非要坚持下来,当然了如果你是业余爱好者,小编我只能说,鸡汤我干了,你随意!

既然当初,热血沸腾的进来了,咋们就不能空手而退,一定得坚持。不是有句话说的好嘛,这个成功与失败之间原因很简单,同样的事情,别人坚持了,而你只是没坚持而已。

额,话说,到这怎么还没见关于javascript的事情,原谅小编话多。。。(尴尬)

来到第二个原因,也是今天的重点,学习方法。这里还是老规矩,先列出流程:

  1. 找一本合适自己的书

  2. 找到自己合适的编写代码的工具

  3. 学会找资源

  4. 学会用代码总结

好了,我的粉丝们,大概你们知道我接下来要干啥了。对,没错,开始念经。。。

如何找到一本适合自己的javascript书籍呢?决定于你是否纯小白还是半点儿白,纯白的建议你选择javascript权威指南,半白的建议你javascript高级程序设计,这两本书,我多次在不同社区跟平台给别人推荐过。因为我认为,这两本书的过渡很好。

那么找到书了,开始学,学的时候得边写代码吧!这时候找个得心应手的工具在合适不过了。建议大家学习javascript不要用浏览器去看结果,不方便。来,跟着老司机动起来

一、下载node.js,并且全局安装

二、找到你的javascript文件目录,运行命令,输入node 文件名.js 你会有大发现

效果图如下:

边写边看,效率高

这样你在学方法的时候,属性操作的时候,能够快速清晰的看到结果。话说用命令行学习,逼格是不是高了点。哈哈!

当你学的有点苗头了,别想着它能干啥,想想找点资源来练手,网络上一大堆的javascript写的特效代码,拿来练手不是更好?

最后,总结性的用javascript结合web前端布局,写一个有点效果的静态网页,找成就感,多给自己找找成就感,学习起来倍儿轻松。

好了,前面几个简单概括了下。现在重点讲讲怎么学习javascript!

当你在看javascript书的第一天开始,你一定得分好时间,什么时间看什么部分的书!比如:简介性质部分,概念部分,代码示例部分。

给大家一个比较好的安排:简介可以当小说看,在地铁上,公交上;概念建议夜深人静的时候看,你的世界没人打扰你;代码示例建议任何有空时间都要敲,不敲代码敲什么。

当我们开始坚持了一段时间,然后回过头来重复我上面说的第三跟第四部分,最终行成,成就感由小到大,慢慢的时间一长,你会发现,原来我已经学的差不多了!

开到这里,大家可能觉得怎么没见一行代码,没错,今天这个就是javascript开篇,给大家一个清晰的思路,后之我在分享javascript这个脚本语言的时候,你会很快接受。而且学习兴趣会增强。那么,提前跟大家说下接下来要分享的javascript文章流程。

一、javascript基础知识(主要分享变量跟数据类型)

二、javascript常用语句(主要分享条件判断循环)

三、javascript函数(函数)重点

四、javascript环境跟作用域(重难点,主要是概念)

五、javascript对象(长期要讲的,可知多重要)

希望接下来的这些分享,可以给学编程的你带来帮助!

加油