<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Javascript on Nishizono Mio&#39;s Shaddow</title>
        <link>https://bzliustc.github.io/tags/javascript/</link>
        <description>Recent content in Javascript on Nishizono Mio&#39;s Shaddow</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <copyright>春节序曲</copyright>
        <lastBuildDate>Mon, 16 Feb 2026 17:47:16 +0800</lastBuildDate><atom:link href="https://bzliustc.github.io/tags/javascript/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>JavaScript Learn Part.C</title>
        <link>https://bzliustc.github.io/p/javascript-learn-part.c/</link>
        <pubDate>Mon, 16 Feb 2026 17:47:16 +0800</pubDate>
        
        <guid>https://bzliustc.github.io/p/javascript-learn-part.c/</guid>
        <description>&lt;img src="https://bzliustc.github.io/p/javascript-learn-part.c/front-page.jpg" alt="Featured image of post JavaScript Learn Part.C" /&gt;&lt;h2 id=&#34;bom和dom&#34;&gt;BOM和DOM
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;BOM包含DOM；&lt;/li&gt;
&lt;li&gt;使用document对象，实际上是使用&lt;code&gt;window.document&lt;/code&gt;，window一般可省略&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;dom编程案例&#34;&gt;DOM编程案例
&lt;/h2&gt;&lt;h3 id=&#34;innerhtml和innertext来操作div和span&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/001.html&#34; &gt;innerHTML和innerText来操作div和span&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;通过元素的innerHTML可以设置元素内部（标签对之间）的内容：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;divElt.innerHTML = &amp;quot;&amp;lt;font color=&#39;red&#39;&amp;gt;整个字符串会被当成HTML内容填充到标签对之间&amp;lt;/font&amp;gt;&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;通过元素的innerText可以设置元素内部（标签对之间）的内容：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;divElt.innerText = &amp;quot;&amp;lt;font color=&#39;red&#39;&amp;gt;整个字符串会被当成普通字符串内容填充到标签对之间&amp;lt;/font&amp;gt;&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;复选框的全选和取消全选&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/002.html&#34; &gt;复选框的全选和取消全选&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;需求：某个复选框选中时，所有复选框选中。&lt;/p&gt;
&lt;p&gt;解决办法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;选中即为click事件；&lt;/li&gt;
&lt;li&gt;document.getElementsByName()获取同名元素&lt;/li&gt;
&lt;li&gt;复选框选中/未选中。关键是&lt;code&gt;checked&lt;/code&gt;属性&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;下拉列表选择项&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/004.-selectlist.html&#34; &gt;下拉列表选择项&lt;/a&gt;
&lt;/h3&gt;&lt;h3 id=&#34;案例动态显示表格内容&#34;&gt;案例:&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/006.html&#34; &gt;动态显示表格内容&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;业务背景：网页显示学生信息表格，一开始只显示表头，点击按钮后显示所有表项。&lt;/p&gt;
&lt;p&gt;解决思路：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Java会给出一个JSON格式字符串，包含待显示的数据&lt;/li&gt;
&lt;li&gt;JS通过eval()解析数据&lt;/li&gt;
&lt;li&gt;通过拼字拼出tbody的html内容&lt;/li&gt;
&lt;li&gt;通过属性innerHTML放到表格中，完成显示&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;正则表达式&#34;&gt;正则表达式
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;什么是正则表达式,有什么用?&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;正则表达式是一门独立的学科,基本每个语言都支持。&lt;/li&gt;
&lt;li&gt;正则表达式不是JS专属的。不过在Js中使用居多。&lt;/li&gt;
&lt;li&gt;通常使用正则表达式进行字符串格式匹配。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;正则表达式是有一堆特殊的符号组成的一个表达式。
每一个特殊的符号都有特殊的代表含义。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;例如:
qq号的正则表达式。
邮箱地址的正则表达式。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;邮箱地址格式验证:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;程序中有一个邮箱地址的正则表达式。&lt;/li&gt;
&lt;li&gt;用户输入了一个邮箱地址。&lt;/li&gt;
&lt;li&gt;那么邮箱地址的正则表达式和邮箱地址进行匹配,能匹配成功,表示合法,反之表示不合法。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;对于javascript程序员来说,我们对于正则表达式掌握到什么程度呢?&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;第一:能够看懂正则表达式&lt;/li&gt;
&lt;li&gt;第二:简单的正则要会写&lt;/li&gt;
&lt;li&gt;第三:&lt;strong&gt;要能够独立的从网络当中搜索到你想要的正则表达式(搜索能力要有)&lt;/strong&gt;，利用手册&lt;/li&gt;
&lt;li&gt;第四:要会创建Js的正则表达式对象。&lt;/li&gt;
&lt;li&gt;第五:要会调用Js正则表达式对象的方法。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/intro-of-regularExp.chm&#34; &gt;参考手册&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;常见正则表达式符号&#34;&gt;常见正则表达式符号
&lt;/h4&gt;&lt;p&gt;1&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;.&lt;/code&gt; 匹配除换行符以外的任意字符 &lt;br&gt;
&lt;code&gt;\w&lt;/code&gt; 匹配字母或数字或下划线或汉字 &lt;br&gt;
&lt;code&gt;\s&lt;/code&gt; 匹配任意的空白符 &lt;br&gt;
&lt;code&gt;\d&lt;/code&gt; 匹配数字 &lt;br&gt;
&lt;code&gt;\b&lt;/code&gt; 匹配单词的开始或结束 &lt;br&gt;
&lt;code&gt;^&lt;/code&gt; 匹配字符串的开始 &lt;br&gt;
&lt;code&gt;$&lt;/code&gt; 匹配字符串的结束 &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;*&lt;/code&gt; 重复零次或更多次 &lt;br&gt;
&lt;code&gt;+&lt;/code&gt; 重复一次或更多次 &lt;br&gt;
&lt;code&gt;?&lt;/code&gt; 重复零次或一次 &lt;br&gt;
&lt;code&gt;{n}&lt;/code&gt; 重复n次 &lt;br&gt;
&lt;code&gt;{n,}&lt;/code&gt; 重复n次或更多次 &lt;br&gt;
&lt;code&gt;{n,m}&lt;/code&gt; 重复n到m次 &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;3&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;\W&lt;/code&gt; 匹配任意不是字母，数字，下划线，汉字的字符 &lt;br&gt;
&lt;code&gt;\S&lt;/code&gt; 匹配任意不是空白符的字符 &lt;br&gt;
&lt;code&gt;\D&lt;/code&gt; 匹配任意非数字的字符 &lt;br&gt;
&lt;code&gt;\B&lt;/code&gt; 匹配不是单词开头或结束的位置 &lt;br&gt;
&lt;code&gt;[^x]&lt;/code&gt; 匹配除了x以外的任意字符 &lt;br&gt;
&lt;code&gt;[^aeiou]&lt;/code&gt; 匹配除了aeiou这几个字母以外的任意字符 &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;例子：&lt;br&gt;
&lt;code&gt;[a-z]{1}&lt;/code&gt;意思是a-z所有字母中任意一个；&lt;br&gt;
&lt;code&gt;[a-z0-9A-Z]{3,}&lt;/code&gt;意思是a-z，0-9，A-Z字符集合中出现三个&lt;br&gt;
&lt;code&gt;[1-9][0-9]{4，}&lt;/code&gt;就是QQ号的正则表达式&lt;br&gt;
&lt;code&gt;^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$&lt;/code&gt;就是匹配邮箱地址&lt;/p&gt;
&lt;h4 id=&#34;js中创建正则表达式对象&#34;&gt;JS中创建正则表达式对象
&lt;/h4&gt;&lt;p&gt;方式一：&lt;code&gt;var regExp = /正则表达式/标记&lt;/code&gt;&lt;br&gt;
标记是可选项，可选值：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;g: 全局&lt;/li&gt;
&lt;li&gt;i: 忽略大小写&lt;/li&gt;
&lt;li&gt;m: &lt;font color=grey&gt;不要求掌握&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;方式二：&lt;code&gt;var regExp = new RegExp(&amp;quot;正则表达式&amp;quot;, &amp;quot;标记&amp;quot;)&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;正则表达式对象的方法&#34;&gt;正则表达式对象的方法
&lt;/h4&gt;&lt;p&gt;正则表达式对象的&lt;code&gt;test()&lt;/code&gt;方法用于检查字符串是否匹配规则。&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/040.html&#34; &gt;参考代码&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;字符串对象可以使用正则表达式：&lt;code&gt;var str = &amp;quot;1970-1-1&amp;quot;.replace(/-/g, &amp;quot;/&amp;quot;)&lt;/code&gt;表示匹配中所有（正则表达式使用&lt;code&gt;g&lt;/code&gt;标记）的减号，替换成斜杠&lt;/p&gt;
&lt;h3 id=&#34;表单验证&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/007.html&#34; &gt;表单验证&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;需求描述：&lt;br&gt;
(1)用户名不能为空&lt;br&gt;
(2)用户名必须在6-14位之间&lt;br&gt;
(3)用户名只能有数字和字母组成,不能含有其它符号(正则表达式)&lt;br&gt;
(4)密码和确认密码一致&lt;br&gt;
(5)统一失去焦点验证&lt;br&gt;
(6)错误提示信息统一在span标签中提示,并且要求字体12号,红色。&lt;br&gt;
(7)文本框再次获得焦点后,清空错误提示信息&lt;br&gt;
(8)&lt;strong&gt;最终表单中所有项均合法方可提交&lt;/strong&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;核心难点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;为了防止用户不听提示而提交，不要用submit按钮，改用button，并用form对象的submit方法提交表单&lt;/li&gt;
&lt;li&gt;如何在提交前检查输入是否合法？
&lt;ul&gt;
&lt;li&gt;方法一：让表单元素先对焦focus再失焦blur，从而触发检查，也就是通过JS代码产生事件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;提示信息的显示/消失用span控制&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;案例网页时钟&#34;&gt;案例:&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/005.html&#34; &gt;网页时钟&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;需求：点击按钮显示时钟，并且以秒为间隔更新&lt;/p&gt;
&lt;p&gt;解决办法：&lt;/p&gt;
&lt;p&gt;执行&lt;code&gt;window.setInterval(&amp;quot;一段JS代码&amp;quot;, milliTime)&lt;/code&gt;会开始周期性执行JS代码。
特别的，如果代码是一个函数，可以不加引号和括弧，只写函数名。
这个函数返回一个值，该值传入&lt;code&gt;window.clearInterval()&lt;/code&gt;可以终止此段代码的周期调用。&lt;/p&gt;
&lt;h2 id=&#34;bom编程案例&#34;&gt;BOM编程案例
&lt;/h2&gt;&lt;h3 id=&#34;windowopen和close&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/bom-001.html&#34; &gt;window.open()和close()&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;window.open(url, opt)&lt;/code&gt;打开新窗口&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;url: 新页面的字符串&lt;/li&gt;
&lt;li&gt;opt: &amp;lsquo;_self&amp;rsquo;为当前窗口打开; 默认值&amp;rsquo;_blank&amp;rsquo;; 其他可选值&amp;rsquo;_parent&amp;rsquo;, &amp;lsquo;_top&amp;rsquo;等&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;window.close()&lt;/code&gt;关闭当前页面，可用前提是当前页面是由&lt;code&gt;open()&lt;/code&gt;打开的。&lt;/p&gt;
&lt;h3 id=&#34;windowconirm&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/bom-002.html&#34; &gt;window.conirm()&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;弹出提示框，返回布尔类型&lt;/p&gt;
&lt;h3 id=&#34;窗口设置为顶级窗口&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/bom-004.html&#34; &gt;窗口设置为顶级窗口&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;应用场景：网页长时间待机后，工作区子窗口要变成登录页并变成顶级&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;top&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!==&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;top&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;href&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;location&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;前进后退&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/bom-006.html&#34; &gt;前进后退&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;跳转到前一页面：
&lt;code&gt;window.history.back()&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;跳转到执行一次回退前的页面：
&lt;code&gt;window.history.go(1)&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;发送请求的多种方式&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/bom-008.html&#34; &gt;发送请求的多种方式&lt;/a&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;地址栏URL&lt;/li&gt;
&lt;li&gt;点击超链接&lt;/li&gt;
&lt;li&gt;提交表单&lt;/li&gt;
&lt;li&gt;window.open(&amp;lsquo;url&amp;rsquo;)&lt;/li&gt;
&lt;li&gt;js代码: 四种效果相同
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;window.location.href = &#39;https://www.baidu.com&#39;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location = &#39;https://www.baidu.com&#39;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;document.location.href = &#39;https://www.baidu.com&#39;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;document.location = &#39;https://www.baidu.com&#39;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;附录&#34;&gt;附录
&lt;/h2&gt;&lt;h3 id=&#34;js练习题二&#34;&gt;JS练习题二
&lt;/h3&gt;&lt;h4 id=&#34;单选题&#34;&gt;单选题
&lt;/h4&gt;&lt;p&gt;1 &amp;ndash; 执行var arr = new Array(3); arr[5] = 10;后，arr[4]的值是？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. undefined B. null C. 0 D. 报错&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;2 &amp;ndash; Date 对象的getMonth()方法返回值为 5，代表的实际月份是？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. 4 月 B. 5 月 C. 6 月 D. 7 月&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;3 &amp;ndash; 以下关于innerHTML和innerText的区别，说法正确的是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. innerHTML 会解析 HTML 标签，innerText 仅作为普通文本
B. innerText 会解析 HTML 标签，innerHTML 仅作为普通文本
C. 两者都会解析 HTML 标签
D. 两者都仅作为普通文本
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;4 &amp;ndash; 获取页面中所有name=&amp;ldquo;hobby&amp;quot;的复选框，正确的方法是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. document.getElementById (&amp;quot;hobby&amp;quot;)
B. document.getElementsByName (&amp;quot;hobby&amp;quot;)
C. document.getElementsByTagName (&amp;quot;hobby&amp;quot;)
D. document.querySelector (&amp;quot;hobby&amp;quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font color=&#34;red&#34;&gt;5&lt;/font&gt; &amp;ndash; 正则表达式&lt;code&gt;\d&lt;/code&gt;的含义是？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. 匹配任意空白符 B. 匹配数字 C. 匹配字母 / 数字 / 下划线 D. 匹配除换行外任意字符&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;6 &amp;ndash; 创建忽略大小写的正则表达式/abc/，正确的写法是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. var reg = /abc/i 
B. var reg = new RegExp (&amp;quot;abc&amp;quot;, &amp;quot;g&amp;quot;)
C. var reg = /abc/g 
D. var reg = new RegExp (&amp;quot;abc&amp;quot;, &amp;quot;m&amp;quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;7 &amp;ndash; 以下能实现 “每隔 1 秒执行一次showTime()函数” 的代码是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. window.setTimeout (&amp;quot;showTime ()&amp;quot;, 1000)
B. window.setInterval (showTime, 1000)
C. window.setInterval (&amp;quot;showTime ()&amp;quot;, 1)
D. window.setTimeout (showTime, 1)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;8 &amp;ndash; 关闭由window.open()打开的当前窗口，正确的代码是？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. window.close () B. window.stop () C. window.exit () D. window.shut ()&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;9 &amp;ndash; 表单验证中，要判断密码框 (pwd) 和确认密码框 (repwd) 的值一致，正确的判断条件是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. pwd.value == repwd.value 
B. pwd == repwd
C. pwd.innerText == repwd.innerText 
D. pwd.innerHTML == repwd.innerHTML
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;10 &amp;ndash; 以下代码执行后str的值是？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var str = &amp;quot;2026-02-16&amp;quot;.replace(/-/g, &amp;quot;/&amp;quot;)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. &amp;quot;2026/02/16&amp;quot; B. &amp;quot;2026-02/16&amp;quot; C. &amp;quot;2026/02-16&amp;quot; D. &amp;quot;20260216&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;11 &amp;ndash; Date 对象的getTime()方法返回的是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 当前时间的小时数 
B. 1970/01/01 00:00:00 到现在的毫秒数
C. 当前时间的分钟数 
D. 当前时间的时间戳（秒数）
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font color=&#34;red&#34;&gt;12&lt;/font&gt; &amp;ndash; 要让下拉列表的选中变化触发事件，应使用的事件名是？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. onclick B. onchange C. onblur D. onfocus&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;13 &amp;ndash; 以下关于 BOM 和 DOM 的关系，正确的是？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. DOM 包含 BOM B. BOM 包含 DOM C. 两者相互独立 D. 两者完全等同&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;14 &amp;ndash; 正则表达式^[1-9][0-9]{4,}$匹配的是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 至少 4 位的数字 
B. 至少 5 位的数字（首位非 0）
C. 4-5 位的数字 
D. 任意长度的数字（首位非 0）
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;15 &amp;ndash; 关于数组push方法，以下描述正确的是？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 向数组开头添加元素，返回新数组长度
B. 向数组末尾添加元素，返回被添加的元素
C. 向数组末尾添加元素，返回新数组长度
D. 向数组开头添加元素，返回被添加的元素
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;不定项&#34;&gt;不定项
&lt;/h4&gt;&lt;p&gt;16 &amp;ndash; 以下创建数组的方式，正确的有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. var arr = {1, 2, 3}; 
B. var arr = Array ();
C. var arr = new Array (5); 
D. var arr = new Array (&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;17 &amp;ndash; 关于数组方法，以下说法正确的有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. pop () 方法会删除数组最后一个元素并返回该元素
B. reverse () 方法会反转数组并返回数组引用
C. join (&amp;quot;,&amp;quot;) 会将数组元素用逗号连接成字符串
D. push () 方法可以一次添加多个元素
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;18 &amp;ndash; 以下属于 Date 对象的方法有？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. getFullYear () B. getDay () C. getMinutes () D. toLocaleString ()&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;19 &amp;ndash; 以下关于复选框checked属性，正确的描述有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 该属性值为布尔类型
B. 设置chk.checked = true可选中复选框
C. 获取chk.checked可判断是否选中
D. 该属性只能通过 HTML 标签设置，无法通过 JS 修改
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;20 &amp;ndash; 以下正则表达式标记，正确的有？（）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;A. g（全局匹配） B. i（忽略大小写） C. m（多行匹配） D. s（单行匹配）&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;21 &amp;ndash; 以下能实现 “页面跳转至百度” 的代码有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. window.location.href = &amp;quot;https://www.baidu.com&amp;quot;
B. document.location = &amp;quot;https://www.baidu.com&amp;quot;
C. window.open(&amp;quot;https://www.baidu.com&amp;quot;, &amp;quot;_self&amp;quot;)
D. window.history.go(&amp;quot;https://www.baidu.com&amp;quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;22 &amp;ndash; 表单验证的触发时机，符合笔记要求的有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 文本框失去焦点（onblur）时验证
B. 文本框获得焦点（onfocus）时清空错误提示
C. 点击提交按钮前统一验证所有项
D. 页面加载时自动验证所有项
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;23 &amp;ndash; 关于window.setInterval()和window.clearInterval()，正确的有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. setInterval () 返回一个标识 ID，用于 clearInterval () 终止执行
B. clearInterval () 需要传入 setInterval () 返回的 ID 才能生效
C. setInterval () 的第一个参数可以是字符串形式的 JS 代码
D. setInterval () 的第二个参数单位是秒
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;24 &amp;ndash; 以下关于正则表达式符号，含义正确的有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. *：重复一次或更多次 
B. +：重复零次或更多次
C. ?：重复零次或一次 
D. {n,m}：重复 n 到 m 次（包含 n 和 m）
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;35 &amp;ndash; 以下关于 BOM 的操作，正确的有？（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. window.confirm () 会弹出确认框，返回字符串
B. window.history.back () 可返回上一页
C. window.top !== window.self 表示当前窗口不是顶级窗口
D. window.open () 默认在当前窗口（_self）打开链接
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;填空题&#34;&gt;填空题
&lt;/h4&gt;&lt;p&gt;JS 数组是可变长的，越界下标赋值会自动扩容，未赋值的扩展元素默认值为______。&lt;/p&gt;
&lt;p&gt;数组pop()方法会弹出末尾元素并返回，数组长度会______。&lt;/p&gt;
&lt;p&gt;Date 对象的getDay()方法返回星期数，______代表周一到周日（填写数值范围）。&lt;/p&gt;
&lt;p&gt;document对象的完整写法是______，其中window可省略。&lt;/p&gt;
&lt;p&gt;要将 HTML 标签解析后填充到元素中，应使用______属性；仅填充普通文本用______属性。&lt;/p&gt;
&lt;p&gt;获取同名复选框的方法是document.______()。&lt;/p&gt;
&lt;p&gt;下拉列表选中变化的事件名是______。&lt;/p&gt;
&lt;p&gt;正则表达式中，\w匹配______、数字、下划线或汉字。&lt;/p&gt;
&lt;p&gt;正则表达式^匹配字符串的______，$匹配字符串的______。&lt;/p&gt;
&lt;p&gt;创建正则表达式的两种方式：字面量/正则/标记和new ______(&amp;ldquo;正则&amp;rdquo;, &amp;ldquo;标记&amp;rdquo;)。&lt;/p&gt;
&lt;p&gt;正则表达式对象的______() 方法用于检查字符串是否匹配规则。&lt;/p&gt;
&lt;p&gt;表单验证中，要让所有项合法后才能提交，应使用______按钮替代 submit 按钮，通过form.submit()提交。&lt;/p&gt;
&lt;p&gt;window.setInterval()的第二个参数单位是______。&lt;/p&gt;
&lt;p&gt;终止setInterval()的周期性执行，需调用window.______()并传入标识 ID。&lt;/p&gt;
&lt;p&gt;window.open()的第二个参数为______时，在当前窗口打开链接。&lt;/p&gt;
&lt;p&gt;跳转到前一页面的 BOM 方法是window.history.______()。&lt;/p&gt;
&lt;p&gt;QQ 号的正则表达式是______（填写笔记中的表达式）。&lt;/p&gt;
&lt;p&gt;表单验证中，错误提示信息要求字体______号、______色。&lt;/p&gt;
&lt;p&gt;Date 对象的getTime()方法返回自 1970/01/01 00:00:00 的______数。&lt;/p&gt;
&lt;p&gt;字符串的replace()方法结合正则g标记，可______替换所有匹配的内容。&lt;/p&gt;
&lt;h4 id=&#34;编程题&#34;&gt;编程题
&lt;/h4&gt;&lt;h5 id=&#34;编程题-1用户注册表单表单验证--css-样式--事件处理&#34;&gt;编程题 1：用户注册表单（表单验证 + CSS 样式 + 事件处理）
&lt;/h5&gt;&lt;p&gt;题目要求：
实现一个符合以下要求的用户注册表单页面：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;HTML 结构（30 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;包含表单（action 设为#），表单项：用户名、密码、确认密码、手机号、邮箱、性别单选框、注册按钮、重置按钮；&lt;/li&gt;
&lt;li&gt;每个输入项对应&lt;label&gt;标签，错误提示用&lt;span&gt;（初始隐藏）；&lt;/li&gt;
&lt;li&gt;手机号和邮箱输入框添加placeholder提示。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CSS 样式（20 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;表单整体居中，宽度 400px，内边距 20px，边框 1px 实线 #ccc；&lt;/li&gt;
&lt;li&gt;输入框宽度 100%，高度 30px，margin-bottom 10px；&lt;/li&gt;
&lt;li&gt;错误提示文字：12px、红色、margin-left 5px；&lt;/li&gt;
&lt;li&gt;按钮宽度 100%，高度 35px，注册按钮背景色 #007bff，鼠标悬停时背景色 #0056b3，重置按钮背景色 #6c757d；&lt;/li&gt;
&lt;li&gt;输入框获取焦点时边框颜色变为 #007bff。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JS 验证逻辑（50 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;失去焦点验证：&lt;br&gt;
✅ 用户名：非空、6-14 位、仅字母 / 数字（正则：&lt;code&gt;/^[a-zA-Z0-9]{6,14}$/&lt;/code&gt;）；&lt;br&gt;
✅ 密码：非空、长度≥8；&lt;br&gt;
✅ 确认密码：与密码一致；&lt;br&gt;
✅ 手机号：非空、11 位数字（正则：&lt;code&gt;/^\d{11}$/&lt;/code&gt;）；&lt;br&gt;
✅ 邮箱：符合邮箱格式（正则：&lt;code&gt;/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/&lt;/code&gt;）；&lt;br&gt;&lt;/li&gt;
&lt;li&gt;输入框获得焦点时清空对应错误提示；&lt;/li&gt;
&lt;li&gt;点击注册按钮时，触发所有输入项的验证，全部合法则弹出 “注册成功”，否则阻止表单提交；&lt;/li&gt;
&lt;li&gt;点击重置按钮时，清空所有输入和错误提示。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;评分标准&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML 结构完整、语义化（30 分）；&lt;/li&gt;
&lt;li&gt;CSS 样式符合要求，交互样式生效（20 分）；&lt;/li&gt;
&lt;li&gt;每个输入项的验证逻辑正确（每项 8 分，共 40 分）；&lt;/li&gt;
&lt;li&gt;按钮点击逻辑正确（10 分）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;编程题-2商品列表展示侧重dom-操作--css-布局--数据渲染&#34;&gt;编程题 2：商品列表展示（侧重：DOM 操作 + CSS 布局 + 数据渲染）
&lt;/h5&gt;&lt;p&gt;题目要求：
实现一个商品列表页面，支持动态渲染和样式控制：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;HTML 结构（20 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;包含：搜索框、搜索按钮、商品列表容器（&lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;）、清空列表按钮；&lt;/li&gt;
&lt;li&gt;商品列表初始为空，渲染后每个商品项包含：商品名称、价格、库存（用&lt;code&gt;&amp;lt;div&amp;gt;/&amp;lt;span&amp;gt;&lt;/code&gt;布局）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CSS 样式（30 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;搜索区域：输入框宽度 200px，按钮 margin-left 10px；&lt;/li&gt;
&lt;li&gt;商品列表：每个商品项为独立卡片，宽度 200px，边框 1px 实线 #eee，内边距 10px，margin 10px，浮动左对齐；&lt;/li&gt;
&lt;li&gt;商品名称：字体加粗，价格红色，库存灰色；&lt;/li&gt;
&lt;li&gt;鼠标悬停商品卡片时，边框颜色变为 #ff6700，背景色 #f5f5f5；&lt;/li&gt;
&lt;li&gt;清除浮动，避免布局错乱。???&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JS 功能（50 分）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;页面加载完成后，默认渲染所有商品；&lt;/li&gt;
&lt;li&gt;搜索功能：输入商品名称关键词，点击搜索按钮筛选商品（忽略大小写）；&lt;/li&gt;
&lt;li&gt;清空列表：点击按钮清空商品列表容器内容；&lt;/li&gt;
&lt;li&gt;动态渲染逻辑：通过拼接 HTML 字符串 + innerHTML实现，而非手动创建节点。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;预设商品数据（JSON 格式）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;goodsData&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;小米手机&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;price&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1999&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;stock&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;华为平板&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;price&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2999&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;stock&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;50&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;苹果耳机&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;price&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1299&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;stock&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;小米手环&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;price&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;199&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;stock&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;200&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;华为手表&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;price&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1599&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;stock&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;评分标准
&lt;ul&gt;
&lt;li&gt;HTML 结构合理（20 分）；&lt;/li&gt;
&lt;li&gt;CSS 布局、样式、交互效果符合要求（30 分）；&lt;/li&gt;
&lt;li&gt;默认渲染商品列表（15 分）；&lt;/li&gt;
&lt;li&gt;搜索筛选功能正确（20 分）；&lt;/li&gt;
&lt;li&gt;清空列表功能正确（15 分）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;编程题-3待办事项清单侧重事件绑定--css-显隐--数组操作&#34;&gt;编程题 3：待办事项清单（侧重：事件绑定 + CSS 显隐 + 数组操作）
&lt;/h5&gt;&lt;p&gt;题目要求：
实现一个待办事项（TODO）清单页面，支持增删改查：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;HTML 结构（20 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;包含：输入框（待办内容）、添加按钮、待办列表（&lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt;）、完成 / 未完成筛选按钮；&lt;/li&gt;
&lt;li&gt;每个待办项包含：文本、完成按钮、删除按钮。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CSS 样式（30 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;待办列表宽度 300px，列表项无默认编号（list-style-type: none），内边距 10px，边框 1px 实线 #ddd，margin 5px 0；&lt;/li&gt;
&lt;li&gt;已完成的待办项：文字划线（text-decoration: line-through）、颜色 #999；&lt;/li&gt;
&lt;li&gt;筛选按钮：margin 5px，点击时背景色变为 #28a745；&lt;/li&gt;
&lt;li&gt;完成 / 删除按钮：margin-left 10px，小尺寸（宽 60px，高 25px）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JS 功能（50 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;存储待办数据：用数组保存，每个项包含content（文本）、isDone（是否完成）；&lt;/li&gt;
&lt;li&gt;添加待办：输入非空内容，点击添加按钮，新增待办项到列表，清空输入框；&lt;/li&gt;
&lt;li&gt;完成待办：点击完成按钮，切换待办项的isDone状态，同步更新样式；&lt;/li&gt;
&lt;li&gt;删除待办：点击删除按钮，从数组和页面中移除对应项；&lt;/li&gt;
&lt;li&gt;筛选功能：点击 “完成” 按钮只显示已完成项，点击 “未完成” 只显示未完成项，点击 “全部” 显示所有项；&lt;/li&gt;
&lt;li&gt;所有事件绑定采用 “获取元素 + 赋值事件句柄” 方式（而非行间事件）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;评分标准&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML 结构完整（20 分）；&lt;/li&gt;
&lt;li&gt;CSS 样式、筛选按钮交互、完成项样式符合要求（30 分）；&lt;/li&gt;
&lt;li&gt;添加待办功能正确（10 分）；&lt;/li&gt;
&lt;li&gt;完成 / 删除待办功能正确（20 分）；&lt;/li&gt;
&lt;li&gt;筛选功能正确（20 分）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;编程题-4网页计算器侧重js-运算--css-布局--事件委托&#34;&gt;编程题 4：网页计算器（侧重：JS 运算 + CSS 布局 + 事件委托）
&lt;/h5&gt;&lt;p&gt;题目要求：
实现一个简易计算器，支持加减乘除运算：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;HTML 结构（25 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;包含：显示框（&lt;code&gt;&amp;lt;input type=&amp;quot;text&amp;quot;&lt;/code&gt;，只读）、数字按钮（0-9）、运算符按钮（+、-、×、÷）、等号按钮、清空按钮；&lt;/li&gt;
&lt;li&gt;按钮用&lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt;标签，按计算器布局排列（4 列）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CSS 样式（25 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;计算器整体居中，宽度 300px，边框 2px 实线 #333，内边距 10px；&lt;/li&gt;
&lt;li&gt;显示框：宽度 100%，高度 40px，字体大小 18px，文本右对齐，margin-bottom 10px；&lt;/li&gt;
&lt;li&gt;按钮：宽度 70px，高度 70px，字体大小 16px，margin 2px；&lt;/li&gt;
&lt;li&gt;运算符按钮背景色 #ff9500，等号按钮背景色 #ff3b30，清空按钮背景色 #e6e6e6；&lt;/li&gt;
&lt;li&gt;按钮点击时（:active）背景色加深。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JS 功能（50 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;显示框初始为空，点击数字 / 运算符按钮，内容追加到显示框；&lt;/li&gt;
&lt;li&gt;点击等号按钮：&lt;/li&gt;
&lt;li&gt;✅ 解析显示框中的运算表达式（如 “12+34”），计算结果并显示；&lt;/li&gt;
&lt;li&gt;✅ 处理除零错误，弹出提示 “除数不能为 0”；&lt;/li&gt;
&lt;li&gt;✅ 处理非法表达式，弹出提示 “表达式错误”；&lt;/li&gt;
&lt;li&gt;点击清空按钮，清空显示框；&lt;/li&gt;
&lt;li&gt;事件处理：采用事件委托（给按钮父容器绑定点击事件），而非逐个绑定按钮事件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;评分标准&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML 结构符合计算器布局（25 分）；&lt;/li&gt;
&lt;li&gt;CSS 样式、按钮交互效果符合要求（25 分）；&lt;/li&gt;
&lt;li&gt;数字 / 运算符输入功能正确（15 分）；&lt;/li&gt;
&lt;li&gt;运算逻辑正确（含除零 / 非法表达式处理）（25 分）；&lt;/li&gt;
&lt;li&gt;事件委托实现（10 分）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;编程题-5动态表格管理系统侧重表格操作--css-样式--json-数据&#34;&gt;编程题 5：动态表格管理系统（侧重：表格操作 + CSS 样式 + JSON 数据）
&lt;/h5&gt;&lt;p&gt;题目要求：
实现一个学生信息表格管理页面，支持新增、删除、修改、查询：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;HTML 结构（20 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;包含：查询输入框、查询按钮、新增表单（姓名、年龄、班级）、提交按钮、学生信息表格（表头：姓名、年龄、班级、操作）；&lt;/li&gt;
&lt;li&gt;操作列包含 “修改”“删除” 按钮，表格边框 1px 实线。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CSS 样式（30 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;表格宽度 80%，居中，单元格内边距 8px，表头背景色 #f8f9fa，文字居中；&lt;/li&gt;
&lt;li&gt;表格行鼠标悬停时背景色 #e9ecef；&lt;/li&gt;
&lt;li&gt;新增表单：输入框宽度 150px，margin 5px，提交按钮背景色 #17a2b8；&lt;/li&gt;
&lt;li&gt;修改 / 删除按钮：分别为 #ffc107、#dc3545，小尺寸（宽 60px，高 28px）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JS 功能（50 分）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;页面加载完成后，渲染学生数据到表格；&lt;/li&gt;
&lt;li&gt;新增功能：表单验证（姓名非空、年龄为数字），验证通过后添加到数组并刷新表格；&lt;/li&gt;
&lt;li&gt;删除功能：点击删除按钮，确认（confirm）后删除对应学生，刷新表格；&lt;/li&gt;
&lt;li&gt;修改功能：点击修改按钮，将学生信息填充到新增表单，提交按钮变为 “修改”，点击后更新数据并恢复按钮文本；&lt;/li&gt;
&lt;li&gt;查询功能：输入姓名关键词，筛选并渲染符合条件的学生。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;预设学生数据（JSON 格式）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;students&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;计算机1班&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;李四&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;19&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;软件2班&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;王五&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;17&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;网络3班&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;评分标准
&lt;ul&gt;
&lt;li&gt;HTML 结构完整、表格布局合理（20 分）；&lt;/li&gt;
&lt;li&gt;CSS 样式、表格交互效果符合要求（30 分）；&lt;/li&gt;
&lt;li&gt;初始渲染 / 新增 / 删除功能正确（每项 10 分，共 30 分）；&lt;/li&gt;
&lt;li&gt;修改功能正确（10 分）；&lt;/li&gt;
&lt;li&gt;查询功能正确（10 分）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;js练习题二-参考答案&#34;&gt;JS练习题二-参考答案
&lt;/h3&gt;&lt;p&gt;ACABB ABAAA BBBBB&lt;/p&gt;
&lt;p&gt;CD ABC ABCD ABC ABC ABC ABC ABC CD BC&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;undefined&lt;/li&gt;
&lt;li&gt;减一（或：减少 1）&lt;/li&gt;
&lt;li&gt;1-7 4. window.document&lt;/li&gt;
&lt;li&gt;innerHTML、innerText&lt;/li&gt;
&lt;li&gt;getElementsByName&lt;/li&gt;
&lt;li&gt;onchange&lt;/li&gt;
&lt;li&gt;字母&lt;/li&gt;
&lt;li&gt;开始、结束&lt;/li&gt;
&lt;li&gt;RegExp&lt;/li&gt;
&lt;li&gt;test&lt;/li&gt;
&lt;li&gt;button&lt;/li&gt;
&lt;li&gt;毫秒（或：millisecond）&lt;/li&gt;
&lt;li&gt;clearInterval&lt;/li&gt;
&lt;li&gt;_self&lt;/li&gt;
&lt;li&gt;back&lt;/li&gt;
&lt;li&gt;[1-9][0-9]{4，}（或：^[1-9][0-9]{4,}$）&lt;/li&gt;
&lt;li&gt;12、红&lt;/li&gt;
&lt;li&gt;毫秒&lt;/li&gt;
&lt;li&gt;全局&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;编程题参考答案:&lt;br&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/ans1.html&#34; &gt;第1题&lt;/a&gt;&lt;br&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/ans2.html&#34; &gt;第2题&lt;/a&gt;&lt;br&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/ans3.html&#34; &gt;第3题&lt;/a&gt;&lt;br&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/ans4.html&#34; &gt;第4题&lt;/a&gt;&lt;br&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.C/ans5.html&#34; &gt;第5题&lt;/a&gt;&lt;br&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>JavaScript Learn Part.B</title>
        <link>https://bzliustc.github.io/p/javascript-learn-part.b/</link>
        <pubDate>Fri, 13 Feb 2026 16:33:41 +0800</pubDate>
        
        <guid>https://bzliustc.github.io/p/javascript-learn-part.b/</guid>
        <description>&lt;img src="https://bzliustc.github.io/p/javascript-learn-part.b/front-page.png" alt="Featured image of post JavaScript Learn Part.B" /&gt;&lt;h2 id=&#34;js中的事件&#34;&gt;JS中的事件
&lt;/h2&gt;&lt;h3 id=&#34;常用事件&#34;&gt;常用事件
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;焦点&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;blur失去焦点&lt;/li&gt;
&lt;li&gt;focus获得焦点&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;击打&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;click鼠标单击&lt;/li&gt;
&lt;li&gt;dblclick鼠标双击&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;键盘&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;keydown键盘按下&lt;/li&gt;
&lt;li&gt;keyup键盘弹起&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;鼠标&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mousedown鼠标按下&lt;/li&gt;
&lt;li&gt;mouseover鼠标经过&lt;/li&gt;
&lt;li&gt;mousemove鼠标移动&lt;/li&gt;
&lt;li&gt;mouseout鼠标离开&lt;/li&gt;
&lt;li&gt;mouseup鼠标弹起&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;表单&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reset表单重置（在form元素中添加，不是input）&lt;/li&gt;
&lt;li&gt;submit表单提文&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其它&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;select文本被选定&lt;/li&gt;
&lt;li&gt;change下拉列表选中项改变,或文本框内容改变&lt;/li&gt;
&lt;li&gt;load页面加载完毕【注意此事件在页面&lt;strong&gt;所有元素&lt;/strong&gt;（包括执行完所有script脚本）加载完毕后触发，不是加载时触发】&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/020-event.html&#34; &gt;020-事件&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;注册事件的2种方式&#34;&gt;注册事件的2种方式
&lt;/h3&gt;&lt;h4 id=&#34;方法一&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/021.html&#34; &gt;方法一&lt;/a&gt;
&lt;/h4&gt;&lt;p&gt;在标签中使用事件句柄属性，在事件句柄中编写事件代码，
当对应的事件发生后，注册在事件句柄当中的代码被监听器调用。
一般称事件句柄注册的函数为&lt;strong&gt;回调函数&lt;/strong&gt;（CallBack Function）。
回调函数的特点是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;监听器负责调用而非程序&lt;/li&gt;
&lt;li&gt;事件发生后监听器来调用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;方法二&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/023.html&#34; &gt;方法二&lt;/a&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;铺垫：根据id获取节点对象&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在JS中有一个隐含的对象document，代表整个HTML文档，是DOM的顶级对象。
在JS中有一个隐含的对象window，代表整个浏览器窗口，是BOM的顶级对象。&lt;/p&gt;
&lt;p&gt;document对象有一系列方法，其中&lt;code&gt;getElementById()&lt;/code&gt;可根据id名返回节点对象。
在JS中，获取到节点之后，&lt;strong&gt;节点属性可以直接当作JS对象的属性访问&lt;/strong&gt;（读/写）。
因此，可以把写好的函数绑定到事件句柄属性上：&lt;code&gt;obj_onExmapleEvent = myFunction&lt;/code&gt;，注意不要写成&lt;code&gt;myFunction()&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;代码的执行顺序&#34;&gt;代码的执行顺序
&lt;/h3&gt;&lt;p&gt;一般情况下，如果元素未加载而通过id获取对象，会失败，参考&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/022.html&#34; &gt;022&lt;/a&gt; Line 11。
解决办法：利用表征所有元素加载完成的load事件，参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/024.html&#34; &gt;024&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;当onload句柄的回调函数执行时，所有元素必然加载完毕。
当然这里有一个瑕疵，即load事件句柄的回调函数是用第一种绑定方法，可否改造成第二种？解决办法：利用&lt;code&gt;window&lt;/code&gt;对象（暂时可以认为是body标签的对象），为&lt;code&gt;onload&lt;/code&gt;绑定函数：&lt;code&gt;window.onload = function(){}&lt;/code&gt;，
参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/026-onload.html&#34; &gt;026&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;例子通过keydown事件捕捉enter和esc&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/028-capture.html&#34; &gt;例子&lt;/a&gt;：通过keydown事件捕捉Enter和ESC
&lt;/h3&gt;&lt;p&gt;目标：输入框输入完成时按下Enter键，要捕捉到回车键按下，并输出提示.&lt;/p&gt;
&lt;p&gt;原理：所有回调函数在被监听器调用时，都会传入一个对象参数，表示发生的事件对象。
对于所有的键盘事件，事件对象有keycode属性，可以获取键值。
其中Enter键值是13，Esc键值是27。&lt;/p&gt;
&lt;h2 id=&#34;运算符void&#34;&gt;运算符void
&lt;/h2&gt;&lt;p&gt;语法格式：&lt;code&gt;void(表达式)&lt;/code&gt;&lt;br&gt;
含义：执行表达式，并且不做任何返回（即使表达式本身有返回结果）&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/029-void.html&#34; &gt;示例代码文件&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;h1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;H1&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;h1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;br&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;href&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;onclick&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;alert(&amp;#39;执行JS代码&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;保留超链接样式，点击后执行一段JS代码，执行完后保证页面不跳转&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;按下超链接后页面其实会跳转，
因为href置空默认跳转到本页，也就是一次刷新。
为了不要此次刷新（跳转），关键是要把跳转路径完全干掉，
而不是默认值或者空字符串：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;href&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;javascript:void(&amp;#39;anything&amp;#39;)&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;onclick&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;alert(&amp;#39;执行JS代码&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    超链接
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;注意到要加&lt;code&gt;javascript:&lt;/code&gt;以免浏览器认为&amp;quot;void()&amp;ldquo;是地址。
可以观察一下鼠标悬停在超链接文本上时浏览器下角会出现“javascript:void(0)”。&lt;/p&gt;
&lt;h2 id=&#34;控制语句&#34;&gt;控制语句
&lt;/h2&gt;&lt;p&gt;JS的控制语句和除了Java相同，也有特别的。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;选择
&lt;ul&gt;
&lt;li&gt;if&lt;/li&gt;
&lt;li&gt;switch&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;循环
&lt;ul&gt;
&lt;li&gt;for&lt;/li&gt;
&lt;li&gt;while&lt;/li&gt;
&lt;li&gt;do &amp;hellip; while&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;跳转
&lt;ul&gt;
&lt;li&gt;break&lt;/li&gt;
&lt;li&gt;continue&lt;/li&gt;
&lt;li&gt;return&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;font color=&#34;#dc620b&#34;&gt;特别的语句，了解即可 —— &lt;/font&gt;&lt;/p&gt;
&lt;h3 id=&#34;for--in-语句&#34;&gt;for &amp;hellip; in 语句
&lt;/h3&gt;&lt;p&gt;遍历数组，index是下标，类型Number&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;arr&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;NaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 另一种遍历, 注意index是索引值的字符串，例如&amp;#34;0&amp;#34;, &amp;#34;1&amp;#34;等，类型是String
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;arr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;遍历对象属性, prop是属性名，类型String&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Emp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;propa&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;propb&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;propc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Emp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;jack&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;123.45&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;prop&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;obj.&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prop&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34; = &amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;with语句&#34;&gt;with语句
&lt;/h3&gt;&lt;h2 id=&#34;内置对象&#34;&gt;内置对象
&lt;/h2&gt;&lt;h3 id=&#34;array&#34;&gt;Array
&lt;/h3&gt;&lt;p&gt;Array是JS的数组类型，数组长度可变。&lt;/p&gt;
&lt;h4 id=&#34;创建数组&#34;&gt;创建数组
&lt;/h4&gt;&lt;p&gt;方法1：创建数组时赋值&lt;/p&gt;
&lt;p&gt;JS的数组是可变长的，并且如果为越界下标元素赋值，数组将自动扩容到该下标，
并且新扩展的元素除了最后一个被赋值的，其它值默认undefined。&lt;/p&gt;
&lt;p&gt;方法2：利用Array类&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;new Array()  创建空数组&lt;/li&gt;
&lt;li&gt;new Array(4)  创建指定长度空数组&lt;/li&gt;
&lt;li&gt;new Array(false, NaN, 34.55, 3, 5)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;使用for..in或者for来遍历数组，使用下标访问并修改，类型可变。&lt;/p&gt;
&lt;h4 id=&#34;常用方法&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/032.html&#34; &gt;常用方法&lt;/a&gt;
&lt;/h4&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;方法&lt;/th&gt;
          &lt;th&gt;用例&lt;/th&gt;
          &lt;th&gt;描述&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;push&lt;/td&gt;
          &lt;td&gt;arr.push(val)&lt;/td&gt;
          &lt;td&gt;向数组末尾追加元素，返回追加元素&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;pop&lt;/td&gt;
          &lt;td&gt;arr.pop()&lt;/td&gt;
          &lt;td&gt;将数组末尾元素弹出并返回之，同时数组长度减一 ; &lt;br&gt;可以说数组的push和pop遵循栈的行为&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;reverse&lt;/td&gt;
          &lt;td&gt;arr.reverse()&lt;/td&gt;
          &lt;td&gt;反转数组，返回数组对象（引用）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;join&lt;/td&gt;
          &lt;td&gt;arr.join(s)&lt;/td&gt;
          &lt;td&gt;将数组元素用字符（串）s连接成字符串&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;date&#34;&gt;Date
&lt;/h3&gt;&lt;h4 id=&#34;创建date对象&#34;&gt;创建Date对象
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;new Date()   返回Date对象，包含系统当前时间&lt;/li&gt;
&lt;li&gt;new Date(4) // 创建指定长度空数组&lt;/li&gt;
&lt;li&gt;new Date(false, NaN, 34.55, 3, 5)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;date的方法&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn-Part.B/033-date.html&#34; &gt;Date的方法&lt;/a&gt;
&lt;/h4&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;方法&lt;/th&gt;
          &lt;th&gt;描述&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;getFullYear&lt;/td&gt;
          &lt;td&gt;返回四位年份&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getYear&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getMonth&lt;/td&gt;
          &lt;td&gt;返回值0-11代表1·12月份&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getDay&lt;/td&gt;
          &lt;td&gt;返回星期数, 1-7代表周一到周日&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getDate&lt;/td&gt;
          &lt;td&gt;返回一个月中第几天&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getHours&lt;/td&gt;
          &lt;td&gt;返回小时&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getMinutes&lt;/td&gt;
          &lt;td&gt;返回分钟&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getSeconds&lt;/td&gt;
          &lt;td&gt;返回喵&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getMilliseconds&lt;/td&gt;
          &lt;td&gt;返回毫秒&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;font color=&#34;red&#34;&gt;toLocaleString&lt;/font&gt;&lt;/td&gt;
          &lt;td&gt;转化成本地语言·地区的日期格式&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;getTime&lt;/td&gt;
          &lt;td&gt;获取自1970/0/0 0:0:0 000的毫秒数（时间戳）&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;附录&#34;&gt;附录
&lt;/h2&gt;&lt;h3 id=&#34;javascript-基础语法练习题一&#34;&gt;JavaScript 基础语法练习题一
&lt;/h3&gt;&lt;font color=&#34;blue&#34;&gt;
考察范围：JS概述（Javascript-Learn全部） - 控制语句（JavaScript-Learn-Part.B）
&lt;/font&gt;
&lt;h4 id=&#34;一单选题每题2分共20分&#34;&gt;一、单选题（每题2分，共20分）
&lt;/h4&gt;&lt;p&gt;1 &amp;ndash; 关于JavaScript嵌入方式，以下说法错误的是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 行间事件法中`window.alert()`可以简写为`alert()`
B. 引入外部JS文件的`&amp;lt;script&amp;gt;`标签内写代码会正常执行
C. 页面脚本块可以出现在HTML文档的任意位置
D. 多个脚本块会按照在文档中出现的顺序依次执行
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;2 &amp;ndash; 执行&lt;code&gt;typeof null&lt;/code&gt;的结果是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. null
B. object
C. undefined
D. number
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3 &amp;ndash; 以下关于JS变量的说法，正确的是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 声明变量时必须指定数据类型
B. `var a;` 执行后a的值为null
C. 函数内未使用var声明的变量是全局变量
D. 变量一旦赋值，类型无法改变
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;4 &amp;ndash; 关于JS函数，以下描述错误的是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 函数调用时实参数量可以和形参数量不一致
B. 可以先调用函数再定义函数
C. JS支持函数重载，同名函数会根据参数区分执行
D. `var sum = function(a,b){return a+b}` 是函数的合法定义方式
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;5 &amp;ndash; 执行&lt;code&gt;isNaN(&amp;quot;123abc&amp;quot;)&lt;/code&gt;的结果是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. true
B. false
C. NaN
D. undefined
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;6 &amp;ndash; *以下运算符比较结果为true的是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. null === undefined
B. 10 == &amp;quot;10&amp;quot;
C. NaN == NaN
D. 0 === false
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;7 &amp;ndash; 关于事件绑定，以下说法正确的是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. `window.onload`事件在页面开始加载时立即触发
B. 通过`document.getElementById()`获取元素时，无需等待DOM加载完成
C. 为元素绑定事件时，函数名后加括号表示绑定函数本身
D. keydown事件中，Enter键的keyCode值为13
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;8 &amp;ndash; 执行&lt;code&gt;parseInt(&amp;quot;123.99abc&amp;quot;)&lt;/code&gt;的结果是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 123.99
B. 123
C. NaN
D. 123.99abc
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;9 &amp;ndash; *关于for&amp;hellip;in语句，以下描述错误的是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 遍历数组arr时，`for(var i in arr)`的i是数组下标，类型为Number
B. 遍历对象elt时，`for(var prop in elt)`的prop是属性名，类型String
C. 可以遍历数组的所有元素
D. 可以遍历对象的所有属性
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;1 &amp;ndash;. 以下关于&lt;code&gt;void&lt;/code&gt;运算符的用法，正确的是（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. `void(alert(&amp;quot;test&amp;quot;))` 执行后会返回alert的执行结果
B. `&amp;lt;a href=&amp;quot;void(0)&amp;quot; onclick=&amp;quot;alert(&#39;test&#39;)&amp;quot;&amp;gt;` 可阻止超链接跳转
C. `void`运算符的作用是不执行表达式
D. `&amp;lt;a href=&amp;quot;javascript:void(0)&amp;quot; onclick=&amp;quot;alert(&#39;test&#39;)&amp;quot;&amp;gt;`可阻止超链接跳转
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;二不定项选择题每题4分共20分多选少选错选均不得分&#34;&gt;二、不定项选择题（每题4分，共20分，多选、少选、错选均不得分）
&lt;/h4&gt;&lt;p&gt;1 &amp;ndash; 以下属于JavaScript三大组成部分的有（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. ECMAScript
B. DOM
C. BOM
D. JQuery
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;2 &amp;ndash; 以下数据类型中，属于JS原始数据类型的有（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. Undefined
B. Object
C. Boolean
D. Null
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3 &amp;ndash; 以下字符串方法的描述，正确的有（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. `length`属性用于获取字符串长度
B. `replace(s1,s2)`会替换字符串中所有的s1
C. `split(&amp;quot;,&amp;quot;)`可将字符串按逗号拆分为数组
D. `charAt(0)`可获取字符串第一个字符
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;4 &amp;ndash; 以下关于JS事件的描述，正确的有（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. blur事件表示元素失去焦点
B. submit事件需绑定在form元素上
C. mouseover事件表示鼠标离开元素
D. change事件可监听下拉列表选中项的改变
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;5 &amp;ndash; 以下关于JS对象和原型的描述，正确的有（）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A. 可通过`prototype`为Object扩展方法
B. 访问对象属性的方式有`obj.prop`和`obj[&amp;quot;prop&amp;quot;]`
C. JS中通过`function`定义的函数可作为类使用
D. `new String(&amp;quot;test&amp;quot;)`创建的变量类型为String
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;三填空题每空2分共20分&#34;&gt;三、填空题（每空2分，共20分）
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;JavaScript中，声明变量使用________关键字（ES6前），未赋值的变量默认值为________。&lt;/li&gt;
&lt;li&gt;JS中&lt;code&gt;==&lt;/code&gt;是________运算符，&lt;code&gt;===&lt;/code&gt;是________运算符。&lt;/li&gt;
&lt;li&gt;页面中所有元素加载完毕后触发的事件是________。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isNaN()&lt;/code&gt;函数的作用是________，它会首先尝试将参数转换为________类型。&lt;/li&gt;
&lt;li&gt;遍历对象属性的特殊循环语句是________。&lt;/li&gt;
&lt;li&gt;阻止超链接默认跳转行为时，&lt;code&gt;href&lt;/code&gt;属性的正确写法是________。&lt;/li&gt;
&lt;li&gt;JS中Number类型的特殊值，非数字用________表示，正无穷大用________表示。&lt;/li&gt;
&lt;li&gt;为对象动态扩展属性和方法可使用________属性。&lt;/li&gt;
&lt;li&gt;函数内未使用var声明的变量默认是________变量。&lt;/li&gt;
&lt;li&gt;DOM顶级对象是________，BOM顶级对象是________。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;四编程题每题20分共60分&#34;&gt;四、编程题（每题20分，共60分）
&lt;/h4&gt;&lt;h5 id=&#34;题目1数字判断与转换&#34;&gt;题目1：数字判断与转换
&lt;/h5&gt;&lt;p&gt;要求：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;编写一个函数&lt;code&gt;checkNumber&lt;/code&gt;，接收一个参数；&lt;/li&gt;
&lt;li&gt;判断该参数是否为有效数字（非NaN），若是则返回其整数部分，若不是则返回&amp;quot;不是有效数字&amp;rdquo;；&lt;/li&gt;
&lt;li&gt;测试用例：
&lt;ul&gt;
&lt;li&gt;checkNumber(&amp;ldquo;123.45&amp;rdquo;) → 123&lt;/li&gt;
&lt;li&gt;checkNumber(&amp;ldquo;abc&amp;rdquo;) → &amp;ldquo;不是有效数字&amp;rdquo;&lt;/li&gt;
&lt;li&gt;checkNumber(NaN) → &amp;ldquo;不是有效数字&amp;rdquo;&lt;/li&gt;
&lt;li&gt;checkNumber(99.99) → 99&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;题目2事件绑定实现表单验证&#34;&gt;题目2：事件绑定实现表单验证
&lt;/h5&gt;&lt;p&gt;要求：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;编写HTML页面，包含一个输入框（id=&amp;ldquo;username&amp;rdquo;）和一个按钮（id=&amp;ldquo;submitBtn&amp;rdquo;）；&lt;/li&gt;
&lt;li&gt;页面加载完成后，通过脚本为按钮绑定点击事件；&lt;/li&gt;
&lt;li&gt;点击按钮时，验证输入框内容：
&lt;ul&gt;
&lt;li&gt;若为空，弹出提示&amp;quot;用户名不能为空&amp;quot;；&lt;/li&gt;
&lt;li&gt;若长度小于6，弹出提示&amp;quot;用户名长度不能小于6位&amp;quot;；&lt;/li&gt;
&lt;li&gt;若验证通过，弹出提示&amp;quot;用户名验证通过&amp;quot;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;font color=&#34;#91919177&#34;&gt;提示：通过元素对象的value属性获取输入的文本&lt;/font&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;题目3对象与遍历&#34;&gt;题目3：对象与遍历
&lt;/h5&gt;&lt;p&gt;要求：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;定义一个表示学生的类&lt;code&gt;Student&lt;/code&gt;，包含属性：姓名（name）、年龄（age）、成绩（score，数组类型）；&lt;/li&gt;
&lt;li&gt;为&lt;code&gt;Student&lt;/code&gt;类添加方法&lt;code&gt;getAvgScore&lt;/code&gt;，用于计算成绩的平均分；&lt;/li&gt;
&lt;li&gt;创建一个&lt;code&gt;Student&lt;/code&gt;实例，姓名为&amp;quot;张三&amp;quot;，年龄为18，成绩为[80,90,85,95]；&lt;/li&gt;
&lt;li&gt;遍历该实例的所有&lt;strong&gt;属性&lt;/strong&gt;并打印（格式：属性名：属性值）；&lt;/li&gt;
&lt;li&gt;调用&lt;code&gt;getAvgScore&lt;/code&gt;方法，打印平均分。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;javascript-基础语法练习题一-答案&#34;&gt;JavaScript 基础语法练习题一 答案
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;题号&lt;/th&gt;
          &lt;th&gt;答案&lt;/th&gt;
          &lt;th&gt;解析&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;B&lt;/td&gt;
          &lt;td&gt;引入外部 JS 文件的&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;标签内的代码不会执行&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2&lt;/td&gt;
          &lt;td&gt;B&lt;/td&gt;
          &lt;td&gt;typeof null返回object是 JS 的历史设计 bug&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;3&lt;/td&gt;
          &lt;td&gt;C&lt;/td&gt;
          &lt;td&gt;A：JS 是弱类型，声明变量无需指定类型；&lt;br&gt;B：var a;默认值是 undefined；&lt;br&gt;D：JS 变量类型可动态改变&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;4&lt;/td&gt;
          &lt;td&gt;C&lt;/td&gt;
          &lt;td&gt;JS 不支持函数重载，同名函数仅保留最后定义的版本&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;5&lt;/td&gt;
          &lt;td&gt;A&lt;/td&gt;
          &lt;td&gt;&amp;ldquo;123abc&amp;quot;无法转换为有效数字，isNaN返回 true&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;font color=red&gt;6&lt;/font&gt;&lt;/td&gt;
          &lt;td&gt;B&lt;/td&gt;
          &lt;td&gt;A：null和undefined类型不同，全等为 false；&lt;br&gt;C：NaN 与任何值（包括自身）都不相等；&lt;br&gt;D：类型不同，全等为 false&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;7&lt;/td&gt;
          &lt;td&gt;D&lt;/td&gt;
          &lt;td&gt;A：window.onload在所有元素加载完毕后触发；&lt;br&gt;B：需等待 DOM 加载完成才能获取元素；&lt;br&gt;C：加括号会立即执行函数，而非绑定&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8&lt;/td&gt;
          &lt;td&gt;B&lt;/td&gt;
          &lt;td&gt;parseInt从左到右解析，截取整数部分，遇到非数字停止&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;font color=&#34;red&#34;&gt;9&lt;/font&gt;&lt;/td&gt;
          &lt;td&gt;A&lt;/td&gt;
          &lt;td&gt;遍历数组时，index是字符串类型（如 &amp;ldquo;0&amp;rdquo;），需手动转换为数字&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;10&lt;/td&gt;
          &lt;td&gt;D&lt;/td&gt;
          &lt;td&gt;A：void执行表达式但无返回值；B：缺少javascript:前缀，&lt;br&gt;浏览器会认为是普通地址；C：void会执行表达式&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;11&lt;/td&gt;
          &lt;td&gt;ABC&lt;/td&gt;
          &lt;td&gt;JS 三大组成部分：ECMAScript（核心）、&lt;br&gt;DOM（文档对象模型）、BOM（浏览器对象模型）；&lt;br&gt;JQuery 是 JS 库，非核心组成&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;ACD&lt;/td&gt;
          &lt;td&gt;原始数据类型：Undefined、Number、String、&lt;br&gt;Boolean、Null；Object 是引用类型&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;13&lt;/td&gt;
          &lt;td&gt;ACD&lt;/td&gt;
          &lt;td&gt;B：replace(s1,s2)仅替换首次出现的 s1，全替换需正则表达式&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;14&lt;/td&gt;
          &lt;td&gt;ABD&lt;/td&gt;
          &lt;td&gt;C：mouseover是鼠标经过，mouseout是鼠标离开&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15&lt;/td&gt;
          &lt;td&gt;ABC&lt;/td&gt;
          &lt;td&gt;D：new String(&amp;ldquo;test&amp;rdquo;)创建的是 Object 类型，&lt;br&gt;字面量&amp;quot;test&amp;quot;是 String 类型&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;填空题&lt;/p&gt;
&lt;ol start=&#34;16&#34;&gt;
&lt;li&gt;var；undefined&lt;/li&gt;
&lt;li&gt;等同；全等&lt;/li&gt;
&lt;li&gt;load（或window.onload）&lt;/li&gt;
&lt;li&gt;判断参数是否为非数字；数字&lt;/li&gt;
&lt;li&gt;for&amp;hellip;in&lt;/li&gt;
&lt;li&gt;javascript:void(0)&lt;/li&gt;
&lt;li&gt;NaN；Infinity&lt;/li&gt;
&lt;li&gt;prototype&lt;/li&gt;
&lt;li&gt;全局&lt;/li&gt;
&lt;li&gt;document；window&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;编程题一&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;checkNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;param&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// 判断是否为有效数字
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;isNaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;param&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 转换为数字后取整数部分
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;parseInt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;param&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;不是有效数字&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 测试用例
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;checkNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;123.45&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// 123
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;checkNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;// 不是有效数字
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;checkNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;NaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;// 不是有效数字
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;checkNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;99.99&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;// 99
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;编程题二&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;zh-CN&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;charset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;表单验证&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;placeholder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;请输入用户名&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;submitBtn&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;提交&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 等待页面加载完成
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;onload&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;// 获取元素
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;usernameInput&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getElementById&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;submitBtn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getElementById&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;submitBtn&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;// 绑定点击事件
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nx&#34;&gt;submitBtn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;onclick&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;usernameInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;c1&#34;&gt;// 验证为空
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;用户名不能为空&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;用户名长度不能小于6位&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;用户名验证通过&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;编程题三&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 1. 定义Student类
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Student&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;score&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;score&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;score&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// 2. 添加计算平均分的方法
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getAvgScore&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;score&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;score&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;score&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;score&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 3. 创建实例
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;zhangsan&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Student&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;90&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;85&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;95&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 4. 遍历实例属性
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;学生信息：&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;prop&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;zhangsan&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// 排除方法属性（可选，根据需求）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;zhangsan&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!==&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;function&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prop&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;：&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;zhangsan&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 5. 调用方法并打印平均分
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;avgScore&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;zhangsan&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getAvgScore&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;平均分：&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;avgScore&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 输出：平均分：87.5
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        <item>
        <title>JavaScript Learn Part A</title>
        <link>https://bzliustc.github.io/p/javascript-learn-part-a/</link>
        <pubDate>Sun, 08 Feb 2026 15:08:15 +0800</pubDate>
        
        <guid>https://bzliustc.github.io/p/javascript-learn-part-a/</guid>
        <description>&lt;img src="https://bzliustc.github.io/p/javascript-learn-part-a/front-page.jpeg" alt="Featured image of post JavaScript Learn Part A" /&gt;&lt;p&gt;本文是Javascript学习笔记·A，记录JS基础语法。&lt;/p&gt;
&lt;h2 id=&#34;javascript概述&#34;&gt;JavaScript概述
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;简称 JS&lt;/li&gt;
&lt;li&gt;JavaScript语言是一种脚本语言,JavaScript的“目标程序”是以普通文本的形式保存。用记事本是可以直接打开的。&lt;/li&gt;
&lt;li&gt;JavaScript和JScript的关系……&lt;/li&gt;
&lt;li&gt;JavaScript主要用来操作HTML中的节点,产生动态效果；JS是一门编程语言，专门用来操作HTML页面中的节点，产生动态效果&lt;/li&gt;
&lt;li&gt;JavaScript和 Java的区别：毫无关系&lt;/li&gt;
&lt;li&gt;（重要）JS调试要充分利用浏览器开发者页面的&lt;strong&gt;控制台，查看器，网络&lt;/strong&gt;面板&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;javascript包括三块ecmascriptdombom&#34;&gt;JavaScript包括三块:ECMAScript、DOM、BOM
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;ECMAScript是ECMA制定的262标准，JavaScript和JScript都遵守这个标准；ECMAScript是JavaScript核心语法&lt;/li&gt;
&lt;li&gt;Document Object Model编程是通过JavaScript对HTML中的dom节点进行操作，DOM是有规范的，DOM规范是W3C制定的&lt;/li&gt;
&lt;li&gt;Browser Object Modle编程是对浏览器本身操作，例如：前进、后退、地址栏、关闭窗口、弹窗等。由于浏览器有不同的厂家制造，所以BOM缺少规范，一般只是有一个默认的行业规范。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;嵌入js的三种方式以及js注释&#34;&gt;嵌入JS的三种方式以及JS注释
&lt;/h2&gt;&lt;h3 id=&#34;行间事件法&#34;&gt;行间事件法
&lt;/h3&gt;&lt;p&gt;JS是一种&lt;strong&gt;事件驱动&lt;/strong&gt;的语言，一般是在发生某个事件时执行某些代码。
事件有很多种，例如鼠标单机click、鼠标经过mouseover等。
并且JS中任何一个事件都有对应的事件&lt;strong&gt;句柄&lt;/strong&gt;：
例如click对应事件的句柄是onclick，mouseover对应句柄是onmouseover……
所有的事件句柄都是以标签的属性形式存在，例如&lt;code&gt;&amp;lt;input type=&amp;quot;buttom&amp;quot;&amp;gt;&lt;/code&gt;就有&lt;code&gt;onclick&lt;/code&gt;属性，
&lt;code&gt;onclick&lt;/code&gt;的属性值就是注册的代码，只要出发点击事件，就会执行这段代码。&lt;/p&gt;
&lt;p&gt;举个例子（参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/001.html&#34; &gt;001&lt;/a&gt;），目标是“点击按钮Hello, 弹出对话框，框中显示HelloWorld”。&lt;/p&gt;
&lt;p&gt;怎么实现弹窗？
JS中有内置的BOM对象&lt;code&gt;window&lt;/code&gt;，可以直接用，因此我们直接把弹窗函数&lt;code&gt;&amp;quot;window.alert(&#39;Hello world&#39;);&amp;quot;&lt;/code&gt;写在&lt;code&gt;onclick&lt;/code&gt;的属性值中。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font color=&#34;#70fa00cc&#34;&gt;小TIPS&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JS中的一条语句可以以一个分号结尾，也可以没有&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.&lt;/code&gt;可以省略&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;页面脚本块嵌入&#34;&gt;页面脚本块嵌入
&lt;/h3&gt;&lt;p&gt;在HTML中嵌入脚本块，脚本块中的代码自上而下逐行执行。
&lt;strong&gt;脚本块的位置随意（甚至可以在&lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt;外），并且可有多个。&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;警告1&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;警告2&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;em&gt;注意，如果脚本块前后有DOM网页元素，则其前面的内容会先显示，然后执行脚本，然后再加载后面的内容。&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&#34;引入外部js文件&#34;&gt;引入外部JS文件
&lt;/h3&gt;&lt;p&gt;编写.js文件，然后通过&lt;code&gt;&amp;lt;script src=&amp;quot;path/to/your.js&amp;quot;/&amp;gt;&lt;/code&gt;引入。
引入一次.js文件，其中代码就会执行一次。
并且，使用引入法的脚本块中的代码不会执行，例如下述弹窗不会出现：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;js/local.js&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;弹窗&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;标识符合关键字&#34;&gt;标识符合关键字
&lt;/h2&gt;&lt;p&gt;标识符规则和java一样&lt;/p&gt;
&lt;h2 id=&#34;变量&#34;&gt;变量
&lt;/h2&gt;&lt;h3 id=&#34;变量的声明与赋值&#34;&gt;变量的声明与赋值
&lt;/h3&gt;&lt;p&gt;回顾：Java中的变量 ——&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;声明：&lt;code&gt;int a;&lt;/code&gt;，&lt;code&gt;double b;&lt;/code&gt;，&lt;code&gt;string s;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;赋值：&lt;code&gt;a = 10;&lt;/code&gt;，&lt;code&gt;b = 3.14;&lt;/code&gt;，&lt;code&gt;s = &amp;quot;hello;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;一行可以声明多个变量&lt;code&gt;int a, b=2, c=3;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Java是强类型编译型语言。&lt;/p&gt;
&lt;p&gt;回到JS —— JS是弱类型非编译（脚本）语言，
参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/006-variables.html&#34; &gt;006-变量&lt;/a&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;声明：&lt;code&gt;var variable_name&lt;/code&gt;，默认赋值undefined（这就是一个具体的值），声明时可赋值&lt;/li&gt;
&lt;li&gt;赋值：&lt;code&gt;variable_name = value&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;一行声明多个变量：&lt;code&gt;var a, b = 90, c;&lt;/code&gt;，意味着a, c赋值undefined，b赋值90&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;重点：JS语言是一种弱类型语言，没有编译阶段，直接浏览器打开解释执行。
在JS中声明变量时不需要指定变量的数据类型；
程序在运行过程当中，赋什么类型的值，变量就是什么数据类型，并且变量的数据类型是可变的。&lt;/p&gt;
&lt;p&gt;以下JS代码是可行的：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;// i为整型
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// 变为布尔型
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3.14&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;// 浮点型 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;函数的定义和调用&#34;&gt;函数的定义和调用
&lt;/h3&gt;&lt;p&gt;Java中的方法：&lt;code&gt;[修饰符列表] 返回值类型 方法名(形参列表) {方法体}&lt;/code&gt;。例如&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;JS中的函数：&lt;code&gt;function 函数名(形参列表) {函数体}&lt;/code&gt;。例如&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;函数要被调用才会执行，不是定义了就会执行的！
参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/007-function-basic.html&#34; &gt;007-函数定义和调用&lt;/a&gt;。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font color=&#34;#d401dfcc&#34;&gt;TIPS&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;函数调用时的实参列表不用与形参列表对应，参数从左往右一次配入形参。&lt;/li&gt;
&lt;li&gt;JS函数还有另一种定义方式：&lt;code&gt;函数名 = function(形参列表) {函数体}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;函数定义的优先级较高，可以在函数定义前调用（参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/008-function-basic.html&#34; &gt;008-函数定义和调用&lt;/a&gt;）&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;局部变量与全局变量&#34;&gt;局部变量与全局变量
&lt;/h3&gt;&lt;p&gt;全局变量：在函数体外声明的变量，称为全局变量，在浏览器打开页面时分配空间，直到关闭才销毁；&lt;/p&gt;
&lt;p&gt;局部变量：函数调用时分配空间，函数执行结束后内存释放&lt;/p&gt;
&lt;p&gt;特别的，若一个变量声明时（应该说是定义时赋值）没有用var关键字，则无论是在哪声明的，默认为全局变量。
使用这种特性的变量必须声明时赋值，不能既不用var又不赋值。
参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/009-local-global-var.html&#34; &gt;009-局部全局变量&lt;/a&gt;中“特性”。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font color=&#34;#f7b500&#34;&gt;Topic - 函数可以重载吗&lt;br&gt;
不可以，同名函数只取最后定义的那个函数来解释，其他同名函数直接消失！根本不可能执行，所以不是覆盖（因为JS函数定义优先级高先解释）。参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/010.html&#34; &gt;010&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;js数据类型&#34;&gt;JS数据类型
&lt;/h2&gt;&lt;h3 id=&#34;ecmascript6版本之前的数据类型有6种&#34;&gt;ECMASCRIPT6版本之前的数据类型有6种
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Undefined&lt;/li&gt;
&lt;li&gt;Numebr&lt;/li&gt;
&lt;li&gt;String&lt;/li&gt;
&lt;li&gt;Null（通过&lt;code&gt;=null&lt;/code&gt;赋予）&lt;/li&gt;
&lt;li&gt;Boolean&lt;/li&gt;
&lt;li&gt;Object&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其中Undefined, Number, String, Boolean， Null都属于基本数据类型，
Object属于对象类型（引用数据类型）。&lt;/p&gt;
&lt;p&gt;ECMASCRIPT6版本后的数据类型有8种，多了Symbol, Bigint。&lt;/p&gt;
&lt;h3 id=&#34;typeof运算符&#34;&gt;typeof运算符（@@@@@）
&lt;/h3&gt;&lt;p&gt;typeof运算符可以在代码运行时动态的获取变量的数据类型，使用方法&lt;code&gt;typeof variable_name&lt;/code&gt;。
typeof算符的运算结果的值为以下6个字符串之一（注意是小写）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;undefined&lt;/li&gt;
&lt;li&gt;numebr&lt;/li&gt;
&lt;li&gt;string&lt;/li&gt;
&lt;li&gt;boolean&lt;/li&gt;
&lt;li&gt;object（null类型数据通过typeof算符作用结果为object）&lt;/li&gt;
&lt;li&gt;function&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在JS中判断字符串是否相等应使用&lt;code&gt;==&lt;/code&gt;算符，参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/011-datatype.html&#34; &gt;011-数据类型&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;numebr类型&#34;&gt;Numebr类型
&lt;/h3&gt;&lt;h4 id=&#34;number类型的数据&#34;&gt;Number类型的数据
&lt;/h4&gt;&lt;p&gt;类比：Number类型代表了Java中的&lt;code&gt;byte, short, int, long, float, double&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;Number类型都有哪些值？以下均可取
- -1
- 0
- 1
- 12.34
- NaN
- Infinity&lt;/p&gt;
&lt;p&gt;参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/014-number.html&#34; &gt;014-Number类型&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;NaN这个值意思是非数，但数据的类型仍是Number，当一个数学表达式运算最终无法返回数字时，值就是NaN。例如&lt;code&gt;100 / &amp;quot;abc&amp;quot;&lt;/code&gt;的运算结果就是NaN。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TIPS&lt;br&gt;
运算式&lt;code&gt;100 + &amp;quot;abc&amp;quot;&lt;/code&gt;结果是字符串&lt;code&gt;&amp;quot;100abc&amp;quot;&lt;/code&gt;，
所以这个表达式不是数学表达式，而是字符串拼接的意思，所以返回值类型不是Number
&lt;br&gt;JS中10/3结果是浮点3.33333&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Infinity顾名思义就是无穷大（注意是正无穷）。&lt;/p&gt;
&lt;h4 id=&#34;isnan-函数&#34;&gt;isNaN() 函数
&lt;/h4&gt;&lt;p&gt;形参列表：一个变量&lt;br&gt;
返回值：Boolean，true代表传参是NaN，否则不是&lt;br&gt;
作用：用于判断数据是不是数&lt;/p&gt;
&lt;p&gt;注意，这个函数会&lt;strong&gt;首先尝试将数据转换成数字&lt;/strong&gt;，若失败则结果是true；
转换成功则结果为false。
可以测试&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;布尔类型&lt;code&gt;true&lt;/code&gt;转换为数字类型是1，&lt;code&gt;false&lt;/code&gt;转为0&lt;/li&gt;
&lt;li&gt;数字字符串可以转化为数&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;number函数&#34;&gt;Number()函数
&lt;/h4&gt;&lt;p&gt;Number()函数将不是Number类型的数据转为Numeber类型，
它把**可以转为Number类型（也就是isNaN()返回true的类型）**的数据转为数字；
把不可转为Number类型的数据转为NaN；若参数已经是Number类型，保持不变。&lt;/p&gt;
&lt;h4 id=&#34;parseint函数&#34;&gt;parseInt()函数
&lt;/h4&gt;&lt;p&gt;把字符串表示的小数（或者小数）取整数部；注意不是向下取整。
实际上对于字符串参数，类似于把第一个小数点前面的部分截出来转为数字。
无法转化的，输出NaN。&lt;/p&gt;
&lt;h4 id=&#34;js数学类介绍&#34;&gt;JS数学类介绍
&lt;/h4&gt;&lt;p&gt;向上取整：&lt;code&gt;Math.ceil(123.456)&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;boolean类型&#34;&gt;Boolean类型
&lt;/h3&gt;&lt;p&gt;Boolean类型是原始类型，只有两个值：&lt;code&gt;true&lt;/code&gt;，&lt;code&gt;false&lt;/code&gt;。&lt;/p&gt;
&lt;h4 id=&#34;boolean函数&#34;&gt;Boolean()函数
&lt;/h4&gt;&lt;p&gt;把非Boolean类型数据转为Boolean类型的数据。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;数据&lt;/th&gt;
          &lt;th&gt;类型&lt;/th&gt;
          &lt;th&gt;转化结果&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;Number&lt;/td&gt;
          &lt;td&gt;false&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;Number&lt;/td&gt;
          &lt;td&gt;true&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&amp;lsquo;abc&amp;rsquo;&lt;/td&gt;
          &lt;td&gt;String&lt;/td&gt;
          &lt;td&gt;true&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&#39;&#39;&lt;/td&gt;
          &lt;td&gt;String&lt;/td&gt;
          &lt;td&gt;false&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;NaN&lt;/td&gt;
          &lt;td&gt;Number&lt;/td&gt;
          &lt;td&gt;false&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Infinity&lt;/td&gt;
          &lt;td&gt;Number&lt;/td&gt;
          &lt;td&gt;true&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;null&lt;/td&gt;
          &lt;td&gt;Null&lt;/td&gt;
          &lt;td&gt;false&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;undefined&lt;/td&gt;
          &lt;td&gt;Undefined&lt;/td&gt;
          &lt;td&gt;false&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Object&lt;/td&gt;
          &lt;td&gt;Object&lt;/td&gt;
          &lt;td&gt;true&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;规律：只有&lt;strong&gt;有东西&lt;/strong&gt;，结果就是true。
Boolean()函数不需要我们手动调用，它会被隐式调用。
例如&lt;code&gt;name=&amp;quot;zhansan&amp;quot;; if(name) {...}&lt;/code&gt;中，JS将自动把name变量转为Boolean类型并判断真伪。&lt;br&gt;
参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/015.html&#34; &gt;015-Boolean&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;string&#34;&gt;String
&lt;/h3&gt;&lt;p&gt;String是原始类型。怎么定义一个字符串？在JS中有两种创建方式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;var str = &amp;quot;string&amp;quot;&lt;/code&gt; —— 类型是String&lt;/li&gt;
&lt;li&gt;&lt;code&gt;var s = new String(&#39;string&#39;)&lt;/code&gt; —— 类型是Object，使用了Object类的子类String，这是JS内置的可以直接用&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;不论哪种字符串，其方法和属性都是通用的。以下介绍常用属性和方法。
参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/016-string.html&#34; &gt;016&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;属性或方法&lt;/th&gt;
          &lt;th&gt;描述&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;length属性&lt;/td&gt;
          &lt;td&gt;获取字符串长度&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;charAt()&lt;/td&gt;
          &lt;td&gt;获取指定下标位置的字符，下标从0开始&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;concat()&lt;/td&gt;
          &lt;td&gt;拼接字符串&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;indexOf()&lt;/td&gt;
          &lt;td&gt;获取某个字符串在当前字符串第一次出现的索引&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;lastIndexOf()&lt;/td&gt;
          &lt;td&gt;获取某个字符串在当前字符串末次出现的索引&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;replace()&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;str.replace(s1, s2)&lt;/code&gt;把str中&lt;strong&gt;首次出现&lt;/strong&gt;的s1替换为s2（只替换一次）。替换所有需要使用正则表达式。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;split()&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;str.split(s)&lt;/code&gt;，把str以s为分割拆分为若干字符串，返回一个数组&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;substr()和subtring()&lt;/td&gt;
          &lt;td&gt;若只有一个参数&lt;code&gt;n&lt;/code&gt;，其行为相同，都是取字符串index为n到index为末尾的字串。&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;substr()和subtring()：若两个参数，含义如下&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;substr(startIndex, length)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;substring(start, end)&lt;/code&gt;且不包括end
|toLowerCase()和toUpperCase()   |大小写转化&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;object&#34;&gt;Object
&lt;/h3&gt;&lt;p&gt;在JS中内置一个Object类型，可视为所有类型的基类/超类。
JS中默认定义的类型如无特殊说明，默认继承Object。
Object类型中的通用属性和方法如下。
参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/017.html&#34; &gt;017&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&#34;prototype属性&#34;&gt;prototype属性
&lt;/h4&gt;&lt;p&gt;意为原型，这个属性可以为对象动态扩展属性和方法。例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;o&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 演示prototype属性
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;doSome&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;测试Prototype属性&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;o&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;doSome&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;通过prototype属性为Object拓展了doSome()方法。
实际上，prototype属性可以为其它类型也扩展属性和方法，例如&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sub&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;substr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 扩展String的方法
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1234567&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sub&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;类&#34;&gt;类
&lt;/h2&gt;&lt;h3 id=&#34;定义类&#34;&gt;定义类
&lt;/h3&gt;&lt;p&gt;方法一&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;function 类名(形参列表) {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    this.属性名 = 参数
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    this.方法名 = function() {...}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;方法二&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;类名 = function(形参列表) {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    this.属性名 = 参数
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    this.方法名 = function() {...}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;所以说，function创建一个函数，也创建一个同名类（或者理解为创建一个东西，功能与调用方法有关）。
若通过&lt;code&gt;函数名();&lt;/code&gt;调用，则是当作函数来用；
若是通过&lt;code&gt;var obj = new 类名()&lt;/code&gt;创建对象，则是当作类来用，会在堆中分配空间，
而obj是堆上对象的引用。参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/018.html&#34; &gt;018&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;访问属性&#34;&gt;访问属性
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;方法一：&lt;code&gt;引用.属性名&lt;/code&gt;，例如&lt;code&gt;example_obj.test_property&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;方法二：&lt;code&gt;引用[&amp;quot;属性名&amp;quot;]&lt;/code&gt;，例如&lt;code&gt;example_obj[&amp;quot;test_property&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;null-nan-undefined的区别&#34;&gt;null, NaN, undefined的区别
&lt;/h2&gt;&lt;p&gt;参考代码&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/append/JavaScript-Learn/019.html&#34; &gt;019&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;和的区别&#34;&gt;&lt;code&gt;==&lt;/code&gt;和&lt;code&gt;===&lt;/code&gt;的区别
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;==&lt;/code&gt;是&lt;strong&gt;等同&lt;/strong&gt;运算符，&lt;code&gt;===&lt;/code&gt;是&lt;strong&gt;全等&lt;/strong&gt;运算符。
前者只比较值是否相等，类似Java的equals方法；后者比较值和数据类型是否相同。&lt;/p&gt;
&lt;h3 id=&#34;null-nan-undefined的区别-1&#34;&gt;null, NaN, undefined的区别
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;类型互不相同，之间全等运算结果肯定是false&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;null：原始类型，typeof运算结果是object&lt;/li&gt;
&lt;li&gt;NaN：原始类型，typeof运算结果是number&lt;/li&gt;
&lt;li&gt;undefined：原始类型，typeof运算符结果是undefined&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;null和undefined是等同关系&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;null == NaN ? false&lt;/li&gt;
&lt;li&gt;null == undefined ? true&lt;/li&gt;
&lt;li&gt;undefined == NaN ? false&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;NaN不与任何值相同，包括自身&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;NaN == NaN ? false&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;json&#34;&gt;JSON
&lt;/h2&gt;&lt;h3 id=&#34;eval函数&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/static/append/JavaScript-Learn-Part.B/035.html&#34; &gt;eval()函数&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;window.eval()&lt;/code&gt;函数可以把一段字符串当成JS代码解释并执行。&lt;/p&gt;
&lt;h3 id=&#34;创建json对象访问json对象属性&#34;&gt;创建JSON对象，访问JSON对象属性
&lt;/h3&gt;&lt;p&gt;JSON: JavaScript Object Notation，一种轻量（文本少数据量大）数据交换（不同编程语言之间的数据交换）格式；xml也是一种标准的数据交换格式。&lt;/p&gt;
&lt;p&gt;JS中的JSON是以对象形式存在的。&lt;/p&gt;
&lt;h4 id=&#34;语法格式&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://bzliustc.github.io/static/append/JavaScript-Learn-Part.B/036-json.html&#34; &gt;语法格式&lt;/a&gt;
&lt;/h4&gt;&lt;p&gt;创建JSON对象：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;jsonObj&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;属性名&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;属性值&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;属性名&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;属性值&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;属性名&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;属性值&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;注意，JS中方括弧是数组对象，花括弧是JSON对象。
属性值可以是任何类型数据，包括JSON对象。&lt;/p&gt;
&lt;h4 id=&#34;访问json对象属性&#34;&gt;访问JSON对象属性
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;jsonObj.prop&lt;/code&gt;或&lt;code&gt;jsonObj[&amp;quot;prop&amp;quot;]&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;json数据交换&#34;&gt;JSON数据交换
&lt;/h4&gt;&lt;p&gt;java和javascript两个语言交换数据可以使用JSON格式的字符串。
java的JDBC连接数据库查询数据，然后将数据拼接成JSON格式的字符串，
将JSON格式的字符串传给javascript，然后在javascript当中把json格式
的字符串转换成JSON对象，这样就可以从json对象中取数据了，这样就完成了
数据的交换。&lt;/p&gt;</description>
        </item>
        
    </channel>
</rss>
