From f07f50291b916dcb4ebd43388186f9e930a5d5f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=83=A1=E5=BF=97=E6=96=87?= <921158807@qq.com>
Date: Fri, 7 Oct 2022 11:21:03 +0800
Subject: [PATCH 1/4] hu
---
...72\347\241\200\350\257\255\346\263\225.md" | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 "20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md"
diff --git "a/20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md" "b/20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md"
new file mode 100644
index 0000000..16414fd
--- /dev/null
+++ "b/20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md"
@@ -0,0 +1,71 @@
+### 一、Js的概念和执行原理?
+
+(1)Js也是程序语言中的一种,但是Js是嵌入HTML语言中,通过浏览器运行
+
+(2)当客户端向服务器端请求某个页面时,服务器端将整个页面中包含JavaScript的脚本代码作为响应内容,发送回客户端机器,客户端浏览器根据发回的网页文件从上往下逐行读取并解析其中的html或者脚本代码。
+
+#### 二、Js代码写哪?
+
+(1)直接直接写页面标签里
+
+```html
+
+
+
+
+
+
+```
+
+(2)写外部.JS文件中
+
+```html
+alert("欢迎进入JavaScript编程的世界!");
+```
+
+(3)html引用外部文件的方法
+
+```html
+
+
+
+
+ 脚本代码的位置:写在外部js文件中
+
+
+
-
-
+ 喜欢我就点击我吧
+
+ 喜欢我就点击我吧
+
+
+```
+
+
+
+
+
+### 四,变量命名时要遵循的规则
+
+* var是声明变量的关键字
+* 第一个字符必须是一个字母、下划线(_)或一个美元符号$
+* 后面的字符可以是字母、下划线、美元符号或数字,区分大小写
+* 不能与关键字同名 ,如while、for和if等
+
+
+
+### 五、循环
+
+#### 1、while循环和do...while循环
+
+##### (1) while循环打印1-10.
+
+```
+var i = 1;
+while(i <= 10)
+{
+ document.write(i+"
")
+ i++;
+}
+```
+
+##### (2) do...while循环打印1-100.
+
+```
+var i = 1;
+do
+{
+ document.write(i+"
")
+ i++;
+}while(i <= 10);
+```
+
+#### 2、while和do...while区别
+
+##### (1) while先判断后执行,do...while先执行后判断
+
+##### (2) 如果将上述程序修改成var i = 11,while循环将一次都不执行,而do...while会至少执行一次
\ No newline at end of file
diff --git "a/16\350\203\241\345\277\227\346\226\207/\347\254\224\350\256\260/20221010JS\347\254\224\350\256\260.md" "b/16\350\203\241\345\277\227\346\226\207/\347\254\224\350\256\260/20221010JS\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..dbc1e1e
--- /dev/null
+++ "b/16\350\203\241\345\277\227\346\226\207/\347\254\224\350\256\260/20221010JS\347\254\224\350\256\260.md"
@@ -0,0 +1,294 @@
+
+
+
+
+## 1,JS基本数据类型有哪些?
+
+ numbers , string , null , undefined , boolean, (symbol , bigint)
+
+## 2,JS引用数据类型有那些?
+
+ 数组array 方法 function 对象 object
+
+## 3,其它?null , undefined
+
+//undefined: 声明未赋值
+
+//null: 空指针引用
+
+ var a;//undefined
+
+// console.log(a);
+
+// var b = null
+
+// console.log(b);
+
+## 4,关于string
+
+// var str = 'Java Script'
+
+//1.有下标 , 长度
+
+// console.log(str[str.length-1]);
+
+## 6,有哪些String常用函数?
+
+```javascript
+1)length
+
+var a = "hello";
+console.log(a.length); //输出字符串长度
+
+2)charAt
+可返回指定位置的字符。
+
+var str = "HELLO WORLD";
+var n = str.charAt(2);//返回的n 为 L
+
+3)concat
+用于连接两个或多个字符串,并返回新的字符串。
+
+var str1 = "Hello ";
+var str2 = "world!";
+var n = str1.concat(str2);
+console.log(n); //输出结果为Hello world!
+
+4)indexOf
+返回某子字符串在该字符串中第一次出现的位置,如果没有找到匹配的字符串则返回 -1。
+备注:该方法区分大小写
+
+var str="Hello world, welcome to the universe.";
+var n=str.indexOf("welcome");
+console.log(n);//输出结果为13
+
+//在字符串第五个位置开始查找字符 "e" 第一次出现的位置:
+var str="Hello world, welcome to the universe.";
+var n=str.indexOf("e",5);
+console.log(n);//输出结果为14
+
+5)lastIndexOf
+返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
+
+注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。
+开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。
+如果没有找到匹配字符串则返回 -1。
+
+var str="I am from runoob,welcome to runoob site.";
+var n=str.lastIndexOf("runoob", 20);//开始检索位置在str[19]处,从后向前检索
+console.log(n); //输出从0开始,字符串第一次出现的位置,n = 10
+
+var m=str.lastIndexOf("runoob", 9); //开始检索位置在str[8],从后向前检索
+console.log(m); //输出从0开始,字符串第一次出现的位置,m = -1
+
+6)match
+在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
+
+备注:string.match(RegExp);
+规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
+若RegExp对象有”g”标志,则说明是全局正则函数,将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
+若没有”g”标志,只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。
+
+var str = "The rain in SPAIN stays mainly in the plain";
+var n=str.match(/ain/g); //全局查找ain,将返回一个数组
+console.log(n); //["ain", "ain", "ain"]
+
+var a = "hello";
+var b = ",world";
+
+// \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
+// + 匹配前面的子表达式一次或多次。
+var re = new RegExp(/^\w+$/); //匹配一个或多个字符
+var is_alpha1 = a.match(re);
+console.log("is_alpha1:" + is_alpha1); //is_alpha1:hello
+
+var is_alpha2 = b.match(re);
+console.log("is_alpha2:" + is_alpha2); //is_alpha2:null
+
+var re3 = new RegExp("\\w+","g"); //带有g标志,全局搜索
+var is_alpha3 = b.match(re3);
+console.log("is_alpha3:" + is_alpha3); //is_alpha2:world
+
+
+7)replace
+用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
+
+string.replace(searchvalue,newvalue); \\用newvalue替换searchvalue
+
+//字符串替换
+var str = "Visit Microsoft!";
+var n = str.replace("Microsoft","Runoob");
+console.log(n); //Visit Runoob!
+
+//正则表达式替换
+var str1 = "Mr Blue has a blue house.";
+var re=str1.replace(/blue/gi,"red"); //全局搜索且不区分大小写
+console.log(re); //Mr red has a red house.
+
+8)search
+用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
+返回值为数字,是与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。如果没有找到任何匹配的子串,则返回 -1。
+
+var str="Visit Runoob!";
+var n=str.search("Runoob");
+console.log(n); // n = 6(n 从0开始查找)
+
+9)slice
+slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
+使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。字符串下标从0开始。
+提示:如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
+
+var str="Hello world!";
+var n=str.slice(1,5);
+console.log(n); // ello
+
+3
+10)split
+用于把一个字符串分割成字符串数组。
+string.split(seperator); //seperator作为字符串的分隔符
+提示:该函数不改变原字符串。
+
+var str="How are you doing today?";
+var n=str.split(" "); //以空格作为字符串分隔符
+console.log(n); //How,are,you,doing,today?
+
+//使用空字符串作为分隔符,那么 stringObject 中的每个字符之间都会被分割。
+var str="How are you doing today?";
+var n=str.split("");
+console.log(n); //H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
+
+//使用Limit参数
+var str="How are you doing today?";
+var n=str.split(" ",3); //limit=3,输出数组的前3个值
+console.log(n); //How,are,you
+
+11)substr
+可在字符串中抽取从 开始 下标开始的指定数目的字符。
+提示: substr() 的参数指定的是子串的开始位置和长度,该函数不改变原字符串
+
+var str="Hello world!";
+var n=str.substr(2,3); //从第二个下标str[2]开始,提取3个字符
+console.log(n); //llo
+
+12)substring
+用于提取字符串中介于两个指定下标之间的字符。
+
+string.substring(from, to); //to可省略,from(包含),to(不包含)
+var str="Hello world!";
+var sub1 = str.substring(3); //lo world!
+var sub2 = str.substring(3,7); //lo w
+
+```
+
+## 5,关于数组的常用函数?
+
+### 1. concat(),不改变原数组
+
+> **arr1.concat(arr2) 连接两个或多个数组,返回一个新的数组**
+
+```javascript
+const arr1 = [1, 2, 3]
+const arr2 = [4, 5]
+const newArr = arr1.concat(arr2)
+console.log(newArr) // [1, 2, 3, 4, 5]
+```
+
+### 2. push() & unshift() 添加元素操作,改变了原数组
+
+> **push() 向数组的末尾添加一个或多个元素,并返回新的长度**
+
+```cpp
+const arr = [1, 2]
+console.log(arr.push(3)) // 3
+console.log(arr) // [1, 2, 3]
+```
+
+> **unshift() 向数组的开头添加一个或多个元素,并返回新的长度**
+
+```cpp
+const arr = [1, 2]
+console.log(arr.unshift(3)) // 3
+console.log(arr) // [3, 1, 2]
+```
+
+### 3. shift() & pop() 删除元素操作,改变了原数组
+
+> **shift() 删除并返回数组第一个元素**
+
+```cpp
+const arr = [1, 2, 3]
+const deleteItem = arr.shift()
+console.log(arr) // [2, 3]
+console.log(deleteItem) // 1
+```
+
+> **pop() 删除并返回数组最后一个元素**
+
+```cpp
+const arr = [1, 2, 3]
+const deleteItem = arr.pop()
+console.log(arr) // [1, 2]
+console.log(deleteItem) // 3
+```
+
+### 4. sort() 数组排序,改变原数组
+
+> **sort() 对数组的元素进行排序**
+
+```cpp
+const arr = [2, 4, 3, 1]
+console.log(arr.sort()) // [1, 2, 3, 4]
+console.log(arr) // [1, 2, 3, 4]
+```
+
+- tips: sort() 不按照数组元素数值的大小对数字进行排序,是按照字符编码的顺序进行排序,那怎么样根据元素数值大小进行排序呢?
+
+```jsx
+const arr = [2, 4, 3, 1]
+const arr1 = [...arr].sort((a, b) => a - b)
+const arr2 = [...arr].sort((a, b) => b - a)
+console.log(arr1) // [1, 2, 3, 4]
+console.log(arr2) // [4, 3, 2, 1]
+```
+
+### 5. reverse() 反转数组,改变原数组
+
+> **reverse() 颠倒数组中元素的顺序**
+
+```cpp
+const arr = [2, 4, 3, 1]
+console.log(arr.reverse()) // [1, 3, 4, 2]
+console.log(arr) // [1, 3, 4, 2]
+```
+
+### 6. splice() 更新数组,改变原数组
+
+> **arr.splice(index, howmany, item1, ..., itemX) 向/从数组中添加/删除项目,然后返回被删除的项目,返回含有被删除的元素的数组,若没有删除元素则返回一个空数组。**
+
+- [index] 必传项,整数,规定添加/删除项目的位置,负数表示从数组结尾处规定位置
+- [howmany] 必传项,要删除的项目数量。如果设置为 0,则不会删除项目
+- [item1, ..., itemX] 可选。向数组添加的新项目。
+
+```jsx
+const arr = [1, 2, 3]
+const arr1 = arr.splice(2, 1)
+console.log(arr1) // [3]
+console.log(arr) // [1, 2]
+
+const arr2 = arr.splice(1, 0, 'ss')
+console.log(arr2) // ['ss']
+console.log(arr) // [1,'ss', 2]
+```
+
+### 7. slice() 截取数组,不改变原数组
+
+> **arr.slice(start, end) 从start处开始选取(不包括该元素),从end处结束选取,如果为空的话,那么选取从start到数组结束的所有元素。负数代表方向,从数组尾部开始计算位置**
+
+```cpp
+const arr = [1, 2, 3, 4, 6]
+console.log(arr.slice(1)) // [2, 3, 4, 6]
+console.log(arr.slice(1, -2)) // [2, 3]
+console.log(arr.slice(-3, 1)) // [2]
+console.log(arr) // [1, 2, 3, 4, 6]
+```
+
diff --git "a/\347\254\224\350\256\260/\346\226\260\345\273\272 \346\226\207\346\234\254\346\226\207\346\241\243.txt" "b/\347\254\224\350\256\260/\346\226\260\345\273\272 \346\226\207\346\234\254\346\226\207\346\241\243.txt"
deleted file mode 100644
index 48ad14d..0000000
--- "a/\347\254\224\350\256\260/\346\226\260\345\273\272 \346\226\207\346\234\254\346\226\207\346\241\243.txt"
+++ /dev/null
@@ -1 +0,0 @@
-钉钉
\ No newline at end of file
--
Gitee