From b909169a65496e0596b0383c7c9d2b84465a3d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B0=B8=E6=B7=B3?= <2678158018@qq.com> Date: Thu, 26 Oct 2023 20:24:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20231026\344\275\234\344\270\232.md" | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 "18 \345\276\220\346\260\270\346\267\263/20231026\344\275\234\344\270\232.md" diff --git "a/18 \345\276\220\346\260\270\346\267\263/20231026\344\275\234\344\270\232.md" "b/18 \345\276\220\346\260\270\346\267\263/20231026\344\275\234\344\270\232.md" new file mode 100644 index 0000000..8deb2be --- /dev/null +++ "b/18 \345\276\220\346\260\270\346\267\263/20231026\344\275\234\344\270\232.md" @@ -0,0 +1,119 @@ +# Day01 作业布置 + +## 一. 完成课堂所有的代码 + +```html + + + + + + Document + + + + + 百度 + + 谷歌 + + + 01111 + + + +``` + +```javascript +const c=document.querySelector('#a') +c.onclick=function(){ + alert('*****') +} +``` + + + +## 二. 简单聊聊JavaScript的历史(自己的话术来总结) + + 维基百科对JavaScript的定义:  JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言;  JavaScript是一门基于原型、头等函数的语言,是一门多范式的语言,它支持面向对象程序设计,指令式编程,以及函数式编 程; ◼ 从上面的定义中, 我们会发现很多关键词:  解释型语言? 原型? 头等函数? 多范式? 面向对象程序设计? 指令式编程? 函数式编程?  这些改变往往会让人不知所云,需要我们完全掌握JavaScript再来回头看,每一个词语描述的都非常准确; ◼ 现在只需要知道,通俗的说法:  JavaScript是一门高级编程语言, 是前端开发的重要组成部分! ◼ HTML和CSS也是前端开发的重要组成部分, 而JavaScript是前端开发的灵魂; 认识JavaScript coderwhy ◼ 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。  这是历史上第一个比较成熟的网络浏览器,轰动一时。  但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。  网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。 JavaScript的起源(一) coderwhy ◼ 网景公司当时想要选择一种语言来嵌入到浏览器中:  采用现有的语言,比如Perl、Python、Tcl、Scheme等等, 允许它们直接嵌入网页;  1995年网景公司招募了程序员Brendan Eich,希望将Scheme语言作为网页脚本语言的可能性; ◼ 就在这时,发生了另外一件大事:1995年Sun公司将Oak语言改名为Java,正式向市场推出;  Java推出之后立马在市场上引起了轰动,Java当初有一个口号:“write once run anywhere”;  网景公司动了心,决定与Sun公司结成联盟,希望将Java嵌入到网页中来运行;  Brendan Eich本人非常热衷于Scheme,但是管理层那个时候有点倾向于Java,希望可以简化Java来适应网页脚本的需求; JavaScript的起源(二) coderwhy ◼ 但是Brendan Eich对此并不感兴趣,他用10天时间设计出来了JavaScript;  最初这门语言的名字是Mocha(摩卡);  在Navigator2.0 beta版本更名为LiveScript;  在Navigator2.0 beta 3版本正式重命名为JavaScript,当时是为了给这门语言搭上Java这个热词; ◼ 当然10天设计出来语言足够说明Brendan Eich是天才,但是这门语言当时更像是一个多种语言的大杂烩;  借鉴C语言的基本语法;  借鉴Java语言的数据类型和内存管理;  借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;  借鉴Self语言,使用基于原型(prototype)的继承机制。 ◼ Brendan Eich曾经这样描述过JavaScript:  与其说我爱Javascript,不如说我恨它,它是C语言和Self语言一夜情的产物;  十八世纪英国文学家约翰逊博士说得好:'它的优秀之处并非原创,它的原创之处并不优秀。’  (the part that is good is not original, and the part that is original is not good.) JavaScript的历史(三) coderwhy ◼ 微软公司于1995年首次推出Internet Explorer,从而引发了与Netscape的浏览器大战。  微软对Netscape Navigator解释器进行了逆向工程,创建了JScript,以与处于市场领导地位的网景产品同台竞争;  这个时候对于开发者来说是一场噩耗,因为需要针对不同的浏览器进行不同的适配; ◼ 1996年11月,网景正式向ECMA(欧洲计算机制造商协会)提交语言标准。  1997年6月,ECMA以JavaScript语言为基础制定了ECMAScript标准规范ECMA-262;  ECMA-262是一份标准,定义了ECMAScript;  JavaScript成为了ECMAScript最著名的实现之一;  除此之外,ActionScript和JScript也都是ECMAScript规范的实现语言; ◼ 所以说,ECMAScript是一种规范,而JavaScript是这种规范的一种实现。 + + + +## 三. 说说你对JS引擎的理解(自己的话术总结) + + 为什么需要JavaScript引擎呢?  我们前面说过,高级的编程语言都是需要转成最终的机器指令来执行的;  事实上我们编写的JavaScript无论你交给浏览器或者Node执行,最后都是需要被CPU执行的;  但是CPU只认识自己的指令集,实际上是机器语言,才能被CPU所执行;  所以我们需要JavaScript引擎帮助我们将JavaScript代码翻译成CPU指令来执行; ◼ 比较常见的JavaScript引擎有哪些呢?  SpiderMonkey:第一款JavaScript引擎,由Brendan Eich开发(也就是JavaScript作者);  Chakra:微软开发,用于IT浏览器;  JavaScriptCore:WebKit中的JavaScript引擎,Apple公司开发;  V8:Google开发的强大JavaScript引擎,也帮助Chrome从众多浏览器中脱颖而出; + + + +## 四. JavaScript的交互方式有哪些?(后两种方式) + +| 交互方法 | 方法说明 | 效果查看 | +| -------------- | -------------- | -------------------- | +| alert | 接受一个参数 | 弹窗查看 | +| console.log | 接受多个参数 | 在浏览器控制台查看 | +| document.write | 接受多个字符串 | 在浏览器页面查看 | +| prompt | 接受一个参数 | 在浏览器接受用户输入 | + +```js +alert('nct') +undefined + +console.log('ENHYPEN') +VM290:1 ENHYPEN +undefined + +console.log('ENHYPEN','NCT') +VM353:1 ENHYPEN NCT +undefined + +a='ENHYPEN' +B='TXT' +console.log(a,B) +VM610:3 ENHYPEN TXT +undefined + +document.write('Straykids','iKON') +undefined + +prompt('TXT') +'12' +``` + + + +## 五. 定义一些你日常生活或者在某些程序中见到的变量(10个)(预习) + +```javascript +类型 前缀 示例 +数组(Array)       a        aItems +布尔值(Boolean)    b        bIsComplete +浮点数(Float)    f       fPrice +函数(Function)      fn      fnHandler +整数(Integer)       i       iItemCount +对象(Object)      o       oDIv1 +正则表达式(RegExp) re      reEmailCheck +字符串(String)    s       sUserName +变量(Variant)       v       vAnything +``` + + + +## 六. 说出JavaScript中的常见数据类型以及它们代表的含义(预习) + +| **数据类型** | **说明:(四基两空一对象)** | +| --------------- | :----------------------------------------------------------- | +| Number数值 | JavaScript 数值类型不再细分整型、浮点型等,js 的所有数值都属于浮点型,64位浮点数 | +| String字符串 | 最抽象的数据类型,信息传播的载体,字符串必须包含在单引号、双引号或反引号之中,一个字符两个字节 | +| Boolean布尔值 | 最机械的数据类型,逻辑运算的载体,仅有两个值,true / false | +| Symbol符号类型 | ES6 引入的一种新的原始数据类型,表示独一无二的值,不常用 | +| null空值 | 表示不存在,当为对象的属性赋值为 null,表示删除该属性,使用 typeof 运算符检测 null 值,返回 Object | +| undefined未定义 | 当声明变量而没有赋值时会显示该值,可以为变量赋值为 undefined | +| Object对象 | 是一种无序的数据集合,内容是键值对的形式,键名(key)是字符串,可以包含任意字符(空格),字符串引号可省略。可以通过 Object.keys(obj) 打印出 obj 对象中的所有 key 值。读对象的属性时,如果使用 [ ] 语法,那么 JS 会先求 [ ] 中表达式的值。如果使用点语法,那么点后面一定是 string 常量 | + -- Gitee From 89fd76114127ec32974e0e8116806f69fe6d00db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B0=B8=E6=B7=B3?= <2678158018@qq.com> Date: Thu, 26 Oct 2023 20:31:20 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E7=AC=94?= =?UTF-8?q?=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20231026\347\254\224\350\256\260.md" | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 "18 \345\276\220\346\260\270\346\267\263/20231026\347\254\224\350\256\260.md" diff --git "a/18 \345\276\220\346\260\270\346\267\263/20231026\347\254\224\350\256\260.md" "b/18 \345\276\220\346\260\270\346\267\263/20231026\347\254\224\350\256\260.md" new file mode 100644 index 0000000..76fbf50 --- /dev/null +++ "b/18 \345\276\220\346\260\270\346\267\263/20231026\347\254\224\350\256\260.md" @@ -0,0 +1,36 @@ +**1.1.1. 引入方式与引入位置** + +向HTML页面插入JavaScript的主要方法,就是使用。使用中。 +2. 使用script标签的src属性引入一个js文件。(方便后期维护,扩展) + +例: + +注:规范中script标签中必须加入type属性。 + +与 Java 一样,变量、函数名、运算符以及其他一切东西都是区分大小写的。 + +比如: + +变量 test 与变量 TEST 是不同的。 + +**1.1.3. 注释** + +Java: // /* */ /** */ + +HTML: + +CSS: /* */ + +JavaScript: + +**ECMAScript注释与 Java语言的注释相同** + +**ECMAScript 借用了这些语言的注释语法。** + +**有两种类型的注释:** + +**单行注释以双斜杠开头(//)** + +**多行注释以单斜杠和星号开头(/\*),以星号和单斜杠结尾(\*/)** \ No newline at end of file -- Gitee